|
|
@@ -137,7 +137,7 @@ class LDAPAuth {
|
|
|
}
|
|
|
|
|
|
// Test search
|
|
|
- $search = ldap_search($this->connection, $this->config['base_dn'], '(objectClass=*)', ['dn']);
|
|
|
+ $search = ldap_search($this->connection, $this->config['base_dn'], '(objectclass=*)', ['dn']);
|
|
|
if (!$search) {
|
|
|
throw new Exception('LDAP search failed');
|
|
|
}
|
|
|
@@ -201,12 +201,12 @@ class LDAPAuth {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // Build search filter
|
|
|
+ // Build search filter - use zimbraAccount objectclass for Zimbra directory
|
|
|
if ($query) {
|
|
|
$escaped_query = ldap_escape($query, '', LDAP_ESCAPE_FILTER);
|
|
|
- $filter = "(&(|(uid=*$escaped_query*)(cn=*$escaped_query*)(mail=*$escaped_query*)(givenName=*$escaped_query*)(sn=*$escaped_query*))(!(objectClass=computer)))";
|
|
|
+ $filter = "(&(objectclass=zimbraAccount)(|(uid=*$escaped_query*)(cn=*$escaped_query*)(mail=*$escaped_query*)(givenName=*$escaped_query*)(sn=*$escaped_query*)))";
|
|
|
} else {
|
|
|
- $filter = "(&(objectClass=person)(!(objectClass=computer)))";
|
|
|
+ $filter = "(&(objectclass=zimbraAccount))";
|
|
|
}
|
|
|
|
|
|
// Debug: Log search parameters
|