1package ldap 2 3import ( 4 "crypto/tls" 5 "time" 6) 7 8// Client knows how to interact with an LDAP server 9type 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} 28