Versions in this module Expand all Collapse all v1 v1.0.0 Aug 28, 2021 Changes in this version + const UsersMaxRequest + var ErrCouldNotFindUser = errors.New("can't find user in LDAP") + var ErrDidNotFindUser = errors.New("did not find a user") + var ErrInvalidCredentials = errors.New("invalid username or password") + var ErrNoLDAPServers = errors.New("no LDAP servers are configured") + type AttributeMap struct + Email string + MemberOf string + Name string + Surname string + Username string + type Config struct + Servers []*ServerConfig + type IConnection interface + Add func(*goldap.AddRequest) error + Bind func(username, password string) error + Close func() + Del func(*goldap.DelRequest) error + Search func(*goldap.SearchRequest) (*goldap.SearchResult, error) + StartTLS func(*tls.Config) error + UnauthenticatedBind func(username string) error + type IMultiLDAP interface + Login func(query *types.LoginData) (*models.User, error) + Ping func() ([]*ServerStatus, error) + User func(login string) (*models.User, ServerConfig, error) + Users func(logins []string) ([]*models.User, error) + func NewMultiLDAP(configs []*ServerConfig) IMultiLDAP + type IServer interface + Bind func() error + Close func() + Dial func() error + Login func(data *types.LoginData) (*models.User, error) + UserBind func(string, string) error + Users func([]string) ([]*models.User, error) + func NewLDAPServer(config *ServerConfig) IServer + type MultiLDAP struct + func (multiples *MultiLDAP) Login(query *types.LoginData) (*models.User, error) + func (multiples *MultiLDAP) Ping() ([]*ServerStatus, error) + func (multiples *MultiLDAP) User(login string) (*models.User, ServerConfig, error) + func (multiples *MultiLDAP) Users(logins []string) ([]*models.User, error) + type Server struct + Config *ServerConfig + Connection IConnection + func (server *Server) AdminBind() error + func (server *Server) Bind() error + func (server *Server) Close() + func (server *Server) Dial() error + func (server *Server) Login(query *types.LoginData) (*models.User, error) + func (server *Server) UserBind(username, password string) error + func (server *Server) Users(logins []string) ([]*models.User, error) + type ServerConfig struct + Attr AttributeMap + BindDN string + BindPassword string + ClientCert string + ClientKey string + GroupSearchBaseDNs []string + GroupSearchFilter string + GroupSearchFilterUserAttribute string + Host string + Port int + RootCACert string + SearchBaseDNs []string + SearchFilter string + SkipVerifySSL bool + StartTLS bool + UseSSL bool + type ServerStatus struct + Available bool + Error error + Host string + Port int