Ich habe PHP 5.6.17 und Apache 2.4.10 auf Debian läuft 8.SSO - Holen Sie sich das AD Benutzername mit Apache
ich die PHP-Variable $_SERVER['REMOTE_USER']
mit dem Windows-Benutzernamen, auffüllen möchten in den Benutzer anmelden, wenn Der Benutzername ist in meiner Datenbank. Ich bin mit den Sicherheitsrisiken dieser Methode vertraut, da diese nur in einem lokalen Netzwerk verfügbar sind.
Hier ist, was ich habe in meiner Apache vhost Definition:
<LocationMatch "/login/ssologin">
PerlAuthenHandler Apache2::AuthenNTLM
AuthBasicAuthoritative on
AuthType ntlm
AuthName "hello"
Require valid-user
PerlAddVar ntdomain "my.local"
PerlSetVar defaultdomain my.local
PerlSetVar splitdomainprefix 1
PerlSetVar ntlmauthoritative off
PerlSetVar ntlmdebug 1
</LocationMatch>
Ich habe die URL in die vertrauenswürdigen Sites im Internet Explorer, aber ich war immer noch für die grundlegende Authentifizierung aufgefordert.
Was habe ich vermisst?
Mein einziges Ziel ist es, den Benutzernamen der Windows-Sitzung zu erhalten. Gibt es einen anderen, leichteren Weg?
http://stackoverflow.com/questions/12942065/can-serverremote-user-be -spoofed – mkaatman
@mkaatman: danke für den Beitrag, aber ich bin in einem lokalen Netzwerk, das ist, warum ich der var vertrauen. – BastienSander
Haben Sie eine ntlm-Ausnahme für Ihre URL/Domain in IE hinzugefügt? etwas wie dieses: https://technet.microsoft.com/en-us/library/jj865685(v=ws.10).aspx oder https://support.microsoft.com/en-us/kb/239869. – gmfm