Lightweight Directory Access Protocol (LDAP)

Ecrire ses requêtes LDAP

Recherches

Lorsqu'une application souhaite faire une recherche sur un serveur LDAP, il convient de se poser les questions suivantes :

Par exemple, si on souhaite chercher les personnes appartenant à la hiérarchie ou=users,dc=example,dc=com, formuler la requête comme : (ou=users) dans l'annuaire dont la racine est dc=example,dc=com n'est pas optimal car on n'a pas spécifié que c'était un utilisateur qui était recherché.

Ainsi, en formulant cette requête comme (&(ou=users)(objectClass=inetOrgPerson)), le nombre de résultat sera restreint, et les informations retournées auront le même intérêt pour le logiciel.

De plus, si on ne fait cette requête que pour récupérer le RDN, le login (uid) de l'utilisateur, et son adresse e-mail, alors on peut préciser les attributs suivants comme dignes d'intérêts : uid, mail. La taille de la réponse, et donc sa vitesse de traitement, en seront d'autant plus allégés.

Souvent, la méthode de l'API permettant d'effectuer une recherche s'appelle list() ou search().

Modifications logicielles dans LDAP

Si les droits d'accès à l'annuaire le permettent, le logiciel peut effectuer des modifications dans l'annuaire, soit pour y stocker des informations associées au compte de l'utilisateur exécutant l'applicatif, soit parce qu'il s'agit d'un programme d'administration de l'annuaire.

Quelle que doit l'API, on retrouve généralement les mêmes noms d'opérations, qui correspondent aux noms des messages LDAP correspondant : add, remove, modify, modifyDN...

Ce qui change en fonction de l'API est la façon dont est représentée une entrée LDAP. Dans certaines, il s'agit d'un objet Entry à part entière; dans d'autres, il est représenté comme un ensemble (Set) d'attributs.

Les exemples de la page suivante illustrent certaines de ces opérations.

Suite [Exemples] >>>