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

Essentials von LDAP mit PHP

Jennifer Aniston
Freigeben: 2025-02-19 10:34:12
Original
284 Leute haben es durchsucht

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:

    sudo apt-get install slapd ldap-utils
    Nach dem Login kopieren
  2. Konfigurieren Sie den Server:

    dpkg-reconfigure slapd
    Nach dem Login kopieren
    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:

ldapsearch -x -b dc=homestead,dc=localdomain
Nach dem Login kopieren
Wenn Sie auf Fehler stoßen, stellen Sie sicher, dass OpenLDAP ausgeführt wird:

sudo netstat -tlnp | grep slapd
Nach dem Login kopieren
Sie sollten die Ausgabe sehen, die angibt, dass Slapd auf Port 389 hört.

Die Datenbank besiedeln:

erstellen

mit dem folgenden Inhalt: users.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
Nach dem Login kopieren
Laden Sie die Daten:

ldapadd -x -W -D "cn=admin,dc=homestead,dc=localdomain" -f users.ldif
Nach dem Login kopieren
(Sie werden für das Administratorkennwort aufgefordert.)

Überprüfen Sie die Datensätze mit:

ldapsearch -x -b "dc=homestead,dc=localdomain" -s sub "objectclass=*"
Nach dem Login kopieren

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

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage