2009-04-03 15 views
1

Für eine Website auf der Intra net mit allen IE Sicherheitseinstellungen eingerichtet. Ich möchte den aktuellen AD-Benutzernamen abrufen, mit dem der Benutzer angemeldet ist. Ich muss mich nicht authentifizieren, da ich davon ausgehe, dass die Person auf dem Computer den Prozess bereits durchlaufen hat.Abrufen des aktuellen Active Directory-Benutzernamens von PHP

Ist das überhaupt möglich? Ich habe viele NTLM-bezogene Sachen gesehen, die zeigen, wie man sich authentifiziert, aber ich kann den aktuellen authentifizierten Benutzernamen nicht ohne eine Eingabeaufforderungsbox leicht ziehen, was ich zu vermeiden versuche.

Das Server-Setup ist ein Windows-Server mit Apache. Wenn es mit einer Linux-Maschine leicht gemacht wird, kann ich es auch dorthin bewegen.

Antwort

3

Wie in Ihrer Frage angegeben, muss der IE so konfiguriert sein, dass Windows Integrated Authentication zulässig ist. Auf diese Weise erhält IE grundsätzlich die Berechtigung, Ihre Anmeldeinformationen/Token an Sites zu senden, die es anfordern (normalerweise beschränkt auf Sites in der Intranetzone). Beachten Sie, dass Ihre Website diese Anmeldeinformationen anfordern muss (in IIS ist dies so einfach wie das Aktivieren eines Kontrollkästchens). In Apache müssen Sie ein Apache-Modul finden, das Ihrem Webserver NTLM-Authentifizierungsunterstützung hinzufügt. Eine schnelle Google-Suche ergab ein paar verschiedene Module, keine schien besonders aktuell zu sein. Wenn Sie ein Apache NTLM-Modul verwenden, vermute ich, dass Sie über $_SERVER['AUTH_USER'] auf den Benutzernamen zugreifen können.

+0

Ich habe diese Module auch für Apache gefunden. Sie möchten sich jedoch ein zweites Mal gegen AD authentifizieren. Das ist nicht das, was ich will. Ich will nur, dass IE (die Module können tun) für die Tokens herausfordern und dann laß mich den Benutzernamen daraus ziehen. –

Verwandte Themen