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