Heim >Backend-Entwicklung >PHP-Tutorial >Essentials von LDAP mit PHP

Essentials von LDAP mit PHP

Jennifer Aniston
Jennifer AnistonOriginal
2025-02-19 10:34:12344Durchsuche

Essentials of LDAP with 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 (Leichtgewichtiges Verzeichniszugriffsprotokoll), das 1993 an der University of Michigan erstellt wurde, ist ein Internet -Protokoll für die Verwaltung von Verzeichnisdiensten. Es wird effizient Adressbuchinformationen, Netzwerkdetails und andere organisierte Daten gelagert und verwaltet.
  • OpenLDAP, ein weit verbreiteter Open-Source-LDAP-Server, ist Schema-nicht-agnostisch, was bedeutet, dass die Datenstruktur oder den Inhalt keine Einschränkungen auferlegt. Es ist einfach installiert und auf Debian-basierten Systemen mit den Befehlszeilenanweisungen konfiguriert und konfiguriert.
  • PHP interagiert mit LDAP-Servern über die Zend-LDAP-Komponente (aus Zend Framework 2). Dies ermöglicht Serverabfragen, Verbindungsverwaltung und grundlegende Vorgänge wie Datenbanksuche, Eintragsaktualisierungen und Löschungen.
  • LDAP-Verzeichnisse verwenden eine hierarchische baumähnliche Struktur, wobei die obere Ebene als Wurzel oder Basis bezeichnet wird. Jeder Eintrag umfasst Attribute - sei mit einem Typ und einem oder mehreren Werten.

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:

  1. OpenLDAP -Setup -Grundlagen.
  2. Datenaufzeichnungen laden.
  3. Basisvorgänge mithilfe von Php.
  4. verbinden und durchführen

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:

  1. Installieren Sie den Kernserver und die Dienstprogramme:

    <code class="language-bash">sudo apt-get install slapd ldap-utils</code>
  2. Konfigurieren Sie den Server:

    <code class="language-bash">dpkg-reconfigure slapd</code>
    Beantworten Sie die Eingabeaufforderungen wie folgt:

      Konfiguration der OpenLDAP -Server auslassen?
    • nein
    • DNS -Domänenname:
    • (oder Ihre Domäne) homestead.localdomain
    • Name Ihrer Organisation: (Ihr Organisationsname)
    • Administrator Passwort: (Wählen Sie ein starkes Kennwort)
    • Passwort bestätigen: (Wiederholen Sie das Passwort)
    • ok
    • bdb (Berkeley db)
    • Möchten Sie, dass Ihre Datenbank entfernt wird, wenn Slapd gespült wird?
    • nein
    • alte Datenbank verschieben?
    • Ja
    • LDAPV2 -Protokoll zulassen?
    • nein

Ü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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn