|
@@ -43,7 +43,7 @@ func (handler *LdapReader) GetAllUser() ([]*ldap.Entry, error) {
|
|
}
|
|
}
|
|
|
|
|
|
func (handler *LdapReader) Authenticate(username string, password string) (bool, error) {
|
|
func (handler *LdapReader) Authenticate(username string, password string) (bool, error) {
|
|
- userInformation, err := handler.retrieveInformation("uid="+username+","+handler.basedn, "(objectClass=*)", ldap.ScopeBaseObject, "uid="+username+","+handler.basedn, password)
|
|
|
|
|
|
+ userInformation, err := handler.retrieveInformation("uid="+username+","+handler.basedn, "(objectClass=person)", ldap.ScopeBaseObject, "uid="+username+","+handler.basedn, password)
|
|
if err != nil {
|
|
if err != nil {
|
|
if strings.Contains(err.Error(), "LDAP Result Code 32") {
|
|
if strings.Contains(err.Error(), "LDAP Result Code 32") {
|
|
return false, nil
|
|
return false, nil
|
|
@@ -51,6 +51,9 @@ func (handler *LdapReader) Authenticate(username string, password string) (bool,
|
|
if strings.Contains(err.Error(), "LDAP Result Code 53") {
|
|
if strings.Contains(err.Error(), "LDAP Result Code 53") {
|
|
return false, nil
|
|
return false, nil
|
|
}
|
|
}
|
|
|
|
+ if strings.Contains(err.Error(), "Couldn't fetch search entries") {
|
|
|
|
+ return false, nil
|
|
|
|
+ }
|
|
return false, err
|
|
return false, err
|
|
}
|
|
}
|
|
if len(userInformation) > 0 {
|
|
if len(userInformation) > 0 {
|
|
@@ -78,9 +81,15 @@ func (handler *LdapReader) retrieveInformation(dn string, filter string, typeOfS
|
|
false,
|
|
false,
|
|
filter,
|
|
filter,
|
|
[]string{"uid", "memberOf", "cn", "sAMAccountName"},
|
|
[]string{"uid", "memberOf", "cn", "sAMAccountName"},
|
|
|
|
+ //[]string{},
|
|
nil,
|
|
nil,
|
|
)
|
|
)
|
|
result, err := ldapURL.Search(searchReq)
|
|
result, err := ldapURL.Search(searchReq)
|
|
|
|
+ /*
|
|
|
|
+ if err == nil {
|
|
|
|
+ result.PrettyPrint(4)
|
|
|
|
+ }
|
|
|
|
+ */
|
|
if err != nil {
|
|
if err != nil {
|
|
return nil, fmt.Errorf("Search Error: %s", err)
|
|
return nil, fmt.Errorf("Search Error: %s", err)
|
|
}
|
|
}
|