Heim >Backend-Entwicklung >PHP-Tutorial >Essentials von LDAP mit PHP
Benötigen Sie neben strukturierten Daten eine einfache Methode zum Speichern von Daten- und Netzwerkinformationen im Adress-Buchstil? LDAP, eine Technologie aus dem Jahr 1993, bietet eine Lösung. Während der "coolen" Faktor neuerer Technologien wie Node.js und Go fehlt, bleiben seine Fähigkeiten von großer Bedeutung.
Schlüsselkonzepte:
LDAP verstehen:
LDAP oder Lightweight Directory Access Protocol, das um 1993 an der Universität von Michigan stammt, dank der Bemühungen von Tim Howes, Steve Kille, Colin Robbins und Wengyik Yeong. Es handelt sich im Wesentlichen um eine internetfreundliche Version des älteren X.500-Protokolls (aus den 1980er Jahren), die ursprünglich von der International Telecommunications Union (ITU) zur Verwaltung von Telefonverzeichnissen entworfen wurde.
Während sich "LDAP" technisch auf das Protokoll bezieht, wird es häufig verwendet, um sowohl Client- als auch Serverkomponenten zu beschreiben. Stellen Sie sich das als SQL von Verzeichnisservern vor-die Sprache für die Interaktion mit LDAP-fähigen Servern.
beliebte LDAP-Server umfassen das Active Directory von Microsoft (in Windows seit Windows 2000 integriert) und die Open-Source OpenLDAP, die wir in dieser Tutorial-Serie verwenden werden. Die Flexibilität von OpenLDAP ermöglicht vielfältiges Schema und Datenspeicher.
Dieser erste Teil umfasst:
Essentielle Terminologie:
Bevor Sie fortfahren, klären wir einige Schlüsselbegriffe:
LDAP Term | Description |
---|---|
dn | Distinguished Name: A record's unique identifier, similar to a primary key in relational databases. |
Directory Schema | Defines the structure and constraints of the directory information. |
entry | A record containing attributes that store data. |
attribute | Similar to an associative array element or database column; specifies the data type, sorting rules, case-sensitivity, and other criteria. |
cn | Common Name (e.g., "John Smith") |
sn | Surname (e.g., "Smith") |
Für ein tieferes Verständnis wenden Sie sich an O'Reillys LDAP -Guides oder den Wikipedia -Eintrag auf LDAP.
Einrichten eines LDAP -Servers:
Die Installation und Konfiguration von OpenLDAP kann etwas komplex sein. Diese Schritte, die für Debian-basierte Server optimiert sind, zielen auf Klarheit und SUKTIONIERT:
<code class="language-bash">sudo apt-get install slapd ldap-utils</code>
<code class="language-bash">dpkg-reconfigure slapd</code>Beantworten Sie die Eingabeaufforderungen wie folgt:
homestead.localdomain
Überprüfung:
Überprüfen Sie die Installation, indem Sie ausführen:
<code class="language-bash">ldapsearch -x -b dc=homestead,dc=localdomain</code>Wenn Sie auf Fehler stoßen, stellen Sie sicher, dass OpenLDAP ausgeführt wird:
<code class="language-bash">sudo netstat -tlnp | grep slapd</code>Sie sollten die Ausgabe sehen, die angibt, dass Slapd auf Port 389 hört.
Die Datenbank besiedeln:
erstellen mit dem folgenden Inhalt: users.ldif
<code class="language-ldif">dn: cn=Sheldon Cooper,ou=People,dc=homestead,dc=localdomain cn: Sheldon Cooper objectClass: person objectClass: inetOrgPerson sn: Cooper dn: cn=Leonard Hofstadter,ou=People,dc=homestead,dc=localdomain cn: Leonard Hofstadter objectClass: person objectClass: inetOrgPerson sn: Hofstadter dn: cn=Howard Wolowitz,ou=People,dc=homestead,dc=localdomain cn: Howard Wolowitz objectClass: person objectClass: inetOrgPerson sn: Wolowitz dn: cn=Rajesh Koothrappali,ou=People,dc=homestead,dc=localdomain cn: Rajesh Koothrappali objectClass: person objectClass: inetOrgPerson sn: Koothrappali</code>Laden Sie die Daten:
<code class="language-bash">ldapadd -x -W -D "cn=admin,dc=homestead,dc=localdomain" -f users.ldif</code>(Sie werden für das Administratorkennwort aufgefordert.)
Überprüfen Sie die Datensätze mit:
<code class="language-bash">ldapsearch -x -b "dc=homestead,dc=localdomain" -s sub "objectclass=*"</code>
(PHP -Interaktion, Verbindung mit dem Server, Suchen, Aktualisierungen und Löschen folgt in nachfolgenden Abschnitten aufgrund von Längenbeschränkungen.)
Das obige ist der detaillierte Inhalt vonEssentials von LDAP mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!