2010-11-02 3 views
1

Je suis en un ldap_list avec ce filtre:PHP LDAP recherche/liste problème de filtre - NON logique

"(&(givenname=*)(objectClass=User)(!department=Executive))" 

et je reçois aucun résultat et cet avertissement dans le journal de PHP:

ldap_get_entries(): argument fourni est pas une ressource de résultat ldap valide ...

Si je supprime l'opérateur NOT pour département et l'exécuter :

"(&(givenname=*)(objectClass=User)(department=Executive))" 

Je reçois les résultats exacts que je m'attends et aucun avertissement. Comme j'obtiens de bons résultats avec ce dernier filtre, je ne peux que supposer que ma connexion ldap, base_DN et les attributs sont corrects. J'ai exécuté les deux filtres dans Utilisateurs et ordinateurs Active Directory via la console de gestion et les deux fonctionnent parfaitement, donc je peux supposer que le filtre est correct. Juste pour les grins j'ai essayé ldap_search au lieu de ldap_list et ai obtenu les mêmes résultats. Des idées?

Oh, je cours PHP 5.2.14 sur IIS 7.5.

Merci

Répondre

3

Vous devez déplacer l'opérateur en dehors des parenthèses

(!(department=Executive)) 
+0

BINGO qui l'a fait. Merci – Curtis