phpbar.de logo

Mailinglisten-Archive

[php] LDAP zugriff

[php] LDAP zugriff

Michael Detambel detambel at bfw-oberhausen.de
Die Nov 15 13:00:08 CET 2005


Irani, Amir schrieb:
> 
> Ich will einfach verstehen was im Hintergrund passiert.
> 
> Also nochmal :
> Der Browser zeigt ein popup Passwortabfrage der von Apache kommt.
Ausgelöst durch folgenden HTTP-Header, den der Apache sendet. Im 
PHP-Programm steht dazu:

     Header("WWW-Authenticate: Basic realm=\"$realm\"");
     Header("HTTP/1.0 401 Unauthorized");

> Durch den Ldap-modul was in Apache einkompiliert ist wird ldap abgefragt 
> Und bei richtiger Eingabe der Zugriff gewährt.
> Ist es richtig bis hier ?
Nein. Den LDAP-Zugriff macht nicht der Apache, den muss das PHP-Programm 
machen. Bei mir ist der LDAP-Server ein Lotus-Domino-Server, das spielt 
hier aber eine Rolle). Die folgenden Skript-Ausschnitte (ohne 
Fehlerprüfung etc.) zeigen den Ablauf (hier mit Anonymem Binden):

     $conn_id = @ldap_connect($ldap_host); // Kontakt mit LDAP-Server 
herstellen
     $bind_id = @ldap_bind($conn_id); // Anonymes Binden
     $res_id = @ldap_search($conn_id, $ldap_base_dn[0], "uid=$user"); 
    // Suche mit UID
     $entry_id = @ldap_first_entry($conn_id, $res_id); // Benutzer ist 
gefunden
     $user_dn = @ldap_get_dn($conn_id, $entry_id);
     $bind_id = @ldap_bind($conn_id, $user_dn, $pass);
     if (!$bind_id) {
         authGet($realm . " Fehler: Authentifizierung fehlgeschlagen"); 
// Benutzer/Kennwort erneut anfordern
     }
     @ldap_unbind($conn_id); // LDAP-Verbindung freigeben

Ich hoffe das erhellt den Mechanismus.

Gruß
Michael Detambel


php::bar PHP Wiki   -   Listenarchive