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  }