Benutzer mit PHP gegen ein Active Directory authentifizieren

Mit den LDAP Funktionen von PHP kann man wie folgt recht einfach Benutzer gegen ein Active Directory authentifizieren (LDAP_SERVER ist durch die Adresse des AD-Servers zu ersetzen):
/** * Authenticates a user against Active Directory. * * @param string The user's Windows username. * @param string The user's Windows password. * @return bool Whether the user could be authenticated. */ public function Authenticate($username, $password) { $ds = ldap_connect(LDAP_SERVER); if ($ds) { $authenticated = false; $bind = ldap_bind($ds, $username, $password); if ($bind) { $authenticated = true; } ldap_close($ds); return $authenticated; } else { $err = 'Verbindung zum LDAP-Server nicht möglich: ' . LDAP_SERVER; throw new Exception($err); } }

Über uns Stefan

Polyglot Clean Code Developer

3 Kommentare

  1. Ich bin auf der Suche nach Infos, wiie ich aus dem Windows LDAP mehr rausbekommen. Insbesondere gehts mir um all die netten Informationen, die der Windows-Server verwaltet und die ich in einer Heterogenen Umgebung woanders auch brauchen kann:
    – Vorname, Nachname, Kürzel (letzteres voll wichtig)
    – aktive Gruppenzugehörigkeit
    Vielleicht diesbezüglch Ideen? 🙂

  2. Mit dem Programm Ldp.exe kannst du dich zum Active Directory verbinden und die Attribute der einzelen Objekt ansehen.

    http://support.microsoft.com/kb/224543

  3. Ganz nett, bis auf die Tatsache das diese Funktion jeden beliebigen Benutzer als gültig deklaiert, solange er das richtige oder garkein Passwort eingibt…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax