Position actuelle: Accueil> Derniers articles> Comment utiliser PHP pour implémenter le tutoriel de communication du service d'annuaire pour le protocole LDAP

Comment utiliser PHP pour implémenter le tutoriel de communication du service d'annuaire pour le protocole LDAP

M66 2025-06-11

Comment utiliser PHP pour implémenter la communication du service d'annuaire pour le protocole LDAP

Le service d'annuaire fait référence à un système utilisé pour stocker et récupérer divers types d'informations. Les protocoles de service d'annuaire commun incluent LDAP (protocole d'accès au répertoire léger). Le protocole LDAP est généralement utilisé pour implémenter des fonctions telles que l'authentification et l'autorisation des utilisateurs, le carnet d'adresses e-mail, la structure organisationnelle et les informations des employés. Cet article présentera comment communiquer avec les services d'annuaire via le protocole LDAP à l'aide du langage PHP et donnera des exemples de code correspondants.

1. Installez l'extension LDAP

Pour utiliser PHP pour communiquer avec le serveur LDAP, vous devez installer l'extension LDAP. Sur les systèmes Linux, vous pouvez l'installer directement via le gestionnaire de packages:

 sudo apt-get install php-ldap

Sur les systèmes Windows, vous pouvez décommenter la ligne de chargement de l'extension LDAP dans le fichier php.ini (supprimer le point-virgule précédent):

 ; extension = LDAP

Après avoir installé l'extension, redémarrez le serveur Web pour le faire prendre effet.

2. Connectez-vous au serveur LDAP

Tout d'abord, vous devez utiliser la fonction LDAP_CONNECT () pour vous connecter au serveur LDAP cible. Cette fonction renvoie un objet de connexion LDAP pour les opérations suivantes. L'exemple de code est le suivant:

$ ldaphost = 'ldap.example.com';
$ ldapport = 389;
$ ldapConn = ldap_connect ($ ldaphost, $ ldapport);
    

Dans les applications réelles, vous devez modifier $ ldaphost et $ ldapport vers l'adresse et le port du serveur LDAP réels.

3. Ligner au serveur LDAP

Une fois la connexion réussie, vous devez utiliser la fonction LDAP_BIND () pour se lier au serveur LDAP. Cela signifie que le client a passé l'authentification et a la permission d'effectuer des opérations ultérieures. Il existe plusieurs méthodes de liaison différentes à choisir.

Liaison anonyme

Vous pouvez utiliser une liaison anonyme pour vous connecter au serveur LDAP:

 ldap_bind ($ ldapConn);

Nom d'utilisateur et liaison de mot de passe

Connectez-vous au serveur LDAP en utilisant le nom d'utilisateur et le mot de passe:

$ ldapuser = 'nom d'utilisateur';
$ ldappass = 'mot de passe';
ldap_bind ($ ldapconn, $ ldapuser, $ ldappass);
    

4. Service d'annuaire de recherche

Après avoir connecté et lié à un serveur LDAP, vous pouvez utiliser la fonction ldap_search () pour rechercher des entrées dans le service d'annuaire. L'opération de recherche nécessite de spécifier le nœud de base (base DN) des critères de recherche et de recherche. L'exemple de code est le suivant:

$ searchBasedn = 'ou = les gens, dc = exemple, dc = com';
$ searchFilter = '(cn = John Doe)';
$ searchResult = ldap_search ($ ldapConn, $ searchBasedn, $ searchFilter);
    

Dans l'application réelle, vous devez modifier $ searchBasedn et $ searchFilter sur des valeurs appropriées.

Le résultat de la recherche est un objet de résultat de recherche LDAP qui doit être converti en un tableau lisible à l'aide de la fonction ldap_get_entries (). L'exemple de code est le suivant:

$ searchEntries = ldap_get_entries ($ ldapconn, $ searchResult);
    

5. Obtenir des données de service d'annuaire

Après avoir recherché des données de service d'annuaire, vous pouvez obtenir la valeur de champ correspondante selon les besoins. Généralement, vous pouvez utiliser la fonction ldap_get_values ​​() pour obtenir la valeur d'un champ spécifique. L'exemple de code est le suivant:

$ name = ldap_get_values ​​($ ldapConn, $ searchentries [0], 'affichename');
    

Besoin de modifier $ Searchentries [0] dans l'index de l'élément de résultat de recherche réel, et «affichage» au nom du champ que vous devez obtenir.

6. Fermez la connexion LDAP

Une fois toutes les opérations terminées, la connexion au serveur LDAP doit être fermée. Utilisez la fonction ldap_close () pour fermer la connexion. L'exemple de code est le suivant:

 ldap_close ($ ldapConn);

Résumer

Cet article décrit comment utiliser PHP pour implémenter la communication de service d'annuaire basé sur le protocole LDAP. Connectez le serveur LDAP cible via la fonction LDAP_CONNECT (), liez-le, recherchez le service de répertoire par la fonction LDAP_SEARCH (), obtenez les résultats de recherche par la fonction LDAP_GET_ENTRES () et utilisez la fonction LDAP_GET_VALUES () pour obtenir la valeur du champ. Enfin, utilisez la fonction ldap_close () pour fermer la connexion. Espérons que l'exemple de code de cet article aide les lecteurs à comprendre comment faire fonctionner les services de répertoire LDAP à l'aide de PHP.