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);
}
}
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? 🙂
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
Ganz nett, bis auf die Tatsache das diese Funktion jeden beliebigen Benutzer als gültig deklaiert, solange er das richtige oder garkein Passwort eingibt…