Explorar o código

Update reader.go

AY's Macbook Pro %!s(int64=3) %!d(string=hai) anos
pai
achega
460003c650
Modificáronse 1 ficheiros con 10 adicións e 1 borrados
  1. 10 1
      mod/auth/ldap/ldapreader/reader.go

+ 10 - 1
mod/auth/ldap/ldapreader/reader.go

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