LDAP est l'acronyme de Lightweight Directory Access Protocol, c'est à dire Protocole Léger d'Accès aux Dossiers. C'est un protocole utilisé pour accéder à des "serveurs de dossiers", des serveurs qui gèrent les informations de manière hiérarchique.
Le concept est similaire à la structure de votre disque dur, hormis le fait que la racine s'appelle ici : "The world" (le monde), et que les dossiers du premier niveau sont assimilés à des pays. Les niveaux inférieurs de la structure contiennent des entrées de sociétés, d'organisations ou de lieux tandis que les niveaux encore inférieurs sont des gens, voire des équipements ou des documents.
Pour accéder à un fichier sur votre disque, vous devez utiliser la syntaxe suivante :
/usr/local/myapp/docs
Le slash indique une division de la référence, et la séquence est lue de gauche à droite.
Avec tous les détails, une référence LDAP s'appelle un "nom distingué" ("distinguished name"), appelé aussi "nd" ("dn" en anglais). Par exemple :
cn=Jean Dupont,ou=Comptes,o=Ma Société,c=Fr
La virgule marque une division de la référénce, et la séquence est lue de droite à gauche. Vous pouvez la lire comme ceci :
country = Fr
organization = Ma Société
organizationalUnit = Comptes
commonName = Jean Dupont
De la même façon qu'il n'y a pas de règle universelle d'organisation d'un disque dur, un serveur de dossier peut supporter n'importe quelle structure du moment qu'elle a un sens pour ce qu'on en fait. Cependant, il existe quelques conventions : il est impossible d'écrire un code d'accès à un dossier sans en connaître sa structure, de la même façon que vous ne pouvez pas utiliser une base de données sans en connaître les tables.
Recupérer toutes les entrées dont le nom commence par "S" dans un serveur, et afficher le nom et l'adresse email.
Il faut d'abord que les bibliothèques client LDAP soient compilées avec PHP. Vous pouvez vous procurer ces bibliothèques University of Michigan (ldap-3.3 package) ou chez Netscape (Netscape Directory SDK).
Avant d'utiliser les fonctions LDAP il faut savoir :
Le nom ou l'adresse du serveur à utiliser
Le "nd" dans le serveur (la partie du monde qui est sur ce serveur, ce qui peut correspondre à "o=Ma société,c=Fr")
Eventuellement, un mot de passe pour accéder au serveur (de nombreux serveusr fournissent un accès anonyme ("anonymous bind") mais requièrent un mot de passe pour tous les autres).
Une séquence habituelle LDAP suivra le schéma suivant :
ldap_connect() // établit une connexion à un serveur
|
ldap_bind() // nom de compte "login" ou anonyme
|
éxécution de commandes sur le serveur, comme un listage, ou
une modification de données avec affichage
|
ldap_close() // "déconnexion"
Vous pouvez en apprendre encore plus, mais en anglais, aux adresses suivantes :
Le SDK Netscape contient un guide du programmeur au format HTML particulièrement pratique (en anglais).
Précédent | Sommaire | Suivant |
java_last_exception_get | Niveau supérieur | ldap_add |