github.com/hellobchain/third_party@v0.0.0-20230331131523-deb0478a2e52/ldap.v2/client.go (about) 1 package ldap 2 3 import ( 4 "github.com/hellobchain/newcryptosm/tls" 5 "time" 6 ) 7 8 // Client knows how to interact with an LDAP server 9 type Client interface { 10 Start() 11 StartTLS(config *tls.Config) error 12 Close() 13 SetTimeout(time.Duration) 14 15 Bind(username, password string) error 16 SimpleBind(simpleBindRequest *SimpleBindRequest) (*SimpleBindResult, error) 17 18 Add(addRequest *AddRequest) error 19 Del(delRequest *DelRequest) error 20 Modify(modifyRequest *ModifyRequest) error 21 22 Compare(dn, attribute, value string) (bool, error) 23 PasswordModify(passwordModifyRequest *PasswordModifyRequest) (*PasswordModifyResult, error) 24 25 Search(searchRequest *SearchRequest) (*SearchResult, error) 26 SearchWithPaging(searchRequest *SearchRequest, pagingSize uint32) (*SearchResult, error) 27 }