Mailinglisten-Archive |
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