Der Verzeichnisservice bezieht sich auf ein System, das zum Speichern und Abrufen verschiedener Informationen verwendet wird. Zu den gängigen Verzeichnis -Service -Protokollen gehören LDAP (Lightweight Directory Access Protocol). Das LDAP -Protokoll wird normalerweise verwendet, um Funktionen wie Benutzerauthentifizierung und Autorisierung, E -Mail -Adressbuch, Organisationsstruktur und Mitarbeiterinformationen zu implementieren. In diesem Artikel wird mithilfe von PHP -Sprache mit Verzeichnisdiensten über das LDAP -Protokoll kommuniziert und entsprechende Code -Beispiele angeben.
Um PHP zu verwenden, um mit dem LDAP -Server zu kommunizieren, müssen Sie die LDAP -Erweiterung installieren. Auf Linux -Systemen können Sie es direkt über den Paketmanager installieren:
sudo apt-get installieren Sie PHP-LDAP
Unter Windows -Systemen können Sie die Lastlinie der LDAP -Erweiterung in der Php.ini -Datei (Entfernen Sie das vorherige Semikolon entfernen) überzeugen:
; Erweiterung = LDAP
Starten Sie nach der Installation der Erweiterung den Webserver neu, damit dies wirksam wird.
Zunächst müssen Sie die Funktion ldap_connect () verwenden, um eine Verbindung zum Ziel -LDAP -Server herzustellen. Diese Funktion gibt ein LDAP -Verbindungsobjekt für nachfolgende Operationen zurück. Der Beispielcode lautet wie folgt:
$ ldaphost = 'ldap.example.com'; $ ldapport = 389; $ ldapconn = ldap_connect ($ ldaphost, $ ldapport);
In den tatsächlichen Anwendungen müssen Sie $ ldaphost und $ ldapport in die tatsächliche LDAP -Serveradresse und den tatsächlichen Port ändern.
Nachdem die Verbindung erfolgreich ist, müssen Sie die Funktion LDAP_BIND () verwenden, um an den LDAP -Server zu binden. Dies bedeutet, dass der Client die Authentifizierung bestanden hat und die Erlaubnis hat, nachfolgende Operationen auszuführen. Es stehen verschiedene Bindungsmethoden zur Auswahl.
Sie können eine anonyme Bindung verwenden, um eine Verbindung zum LDAP -Server herzustellen:
ldap_bind ($ ldapconn);
Verbindung zum LDAP -Server mit Benutzername und Kennwort herstellen:
$ ldapuser = 'Benutzername'; $ ldappass = 'Passwort'; ldap_bind ($ ldapconn, $ ldapuser, $ ldAppass);
Nachdem Sie sich an einen LDAP -Server verbinden und verbinden, können Sie die Funktion LDAP_SEARCH () verwenden, um nach Einträgen im Verzeichnisdienst zu suchen. Die Suchoperation erfordert die Angabe des Basisknotens (Basis DN) der Such- und Suchkriterien. Der Beispielcode lautet wie folgt:
$ searchbasedn = 'ou = people, dc = Beispiel, dc = com'; $ searchFilter = '(CN = John Doe)'; $ searchResult = ldap_search ($ ldapconn, $ searchbasedn, $ searchFilter);
In der tatsächlichen Anwendung müssen Sie $ suchbasedn und $ searchFilter in entsprechende Werte ändern.
Das Suchergebnis ist ein LDAP -Suchergebnis -Objekt, das mit der Funktion LDAP_Get_entries () in ein lesbares Array konvertiert werden muss. Der Beispielcode lautet wie folgt:
$ searchentries = ldap_get_entries ($ ldapconn, $ searchResult);
Nach der Suche nach Verzeichnisdienstdaten können Sie nach Bedarf den entsprechenden Feldwert erhalten. Im Allgemeinen können Sie die Funktion LDAP_get_Values () verwenden, um den Wert eines bestimmten Feldes zu erhalten. Der Beispielcode lautet wie folgt:
$ name = ldap_get_values ($ ldapconn, $ seearchentriies [0], 'displayName');
Müssen $ seearchentriies [0] in den tatsächlichen Suchergebnis -Element -Index und "DisplayName" in den Feldname ändern, den Sie erhalten müssen.
Nach Abschluss aller Vorgänge sollte die Verbindung zum LDAP -Server geschlossen werden. Verwenden Sie die Funktion LDAP_CLOSE (), um die Verbindung zu schließen. Der Beispielcode lautet wie folgt:
LDAP_CLOSE ($ LDAPCONN);
In diesem Artikel wird beschrieben, wie PHP zur Implementierung der Verzeichnisdienstkommunikation basierend auf dem LDAP -Protokoll verwendet wird. Schließen Sie den Ziel -LDAP -Server über die Funktion ldap_connect () an, binden Sie ihn, suchen Sie den Verzeichnisdienst nach der Funktion LDAP_SEARCH (), erhalten Sie die Suchergebnisse mit der Funktion LDAP_Get_entries () und verwenden Sie die Funktion LDAP_Get_Values (), um den Feldwert zu erhalten. Verwenden Sie schließlich die Funktion LDAP_CLOSE (), um die Verbindung zu schließen. Hoffentlich hilft der Beispielcode in diesem Artikel den Lesern zu verstehen, wie sie LDAP -Verzeichnisdienste mit PHP betreiben können.