Jeg vil ikke mene at man bare sådan lige kan hente brugernavnet som en given bruger har logget ind i windows med. Det er ikke fordi jeg ved en masse om sikkerhed, men jeg vil mene det vil være sikkerhedsmæssigt uforsvarligt da hvem som helst så ville kunne få fat i dit brugernavn.
Hvis du derimod gør brug af noget authentication som fx NTLM eller Kerberos vil dine brugerinformation blive sendt (krypteret) med til web serveren og valideret op imod domain og som jeg forstår dig har du et AD hvor din apache server er medlem af domainet og alle brugere af intranet siden formentlig også er oprettet som brugere i AD'et.
Jeg har fået NTLM til at virke sådan:
Download apache modulet 'mod_auth_sspi' (det skal passe til din apache version) fra
http://sourceforge.net/projects/mod-auth-sspi/
Unzip og kopier filen 'mod_auth_sspi.so' til apache/modules (eller hvor du nu har dine moduler)
I zip filen er der også dokumentation til modulet, så tjek det!
Ret herefter din httpd.con fil:
### Module for windows authentication
LoadModule sspi_auth_module modules/mod_auth_sspi.so
### Configure mod_auth_sspi
<Directory "/htdocs/phptest">
AllowOverride None
Options None
Order allow,deny
Allow from all
AuthName "Authentication NTLM/windows"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
Require valid-user
</Directory>
Genstart Apache serveren og tjek om du har en værdi i $_SERVER['REMOTE_USER'] og $_SERVER['AUTH_TYPE'].
Det skal siges at jeg benytter Internet Explorer, så hvordan det vil virke med en anden browser ved jeg ikke.
Håber du kan bruge det til noget. Hvis nogen ved hvor der kan findes yderligere dokumentation til ovenstående er jeg meget interesseret.
Indlæg senest redigeret d. 03.11.2009 14:20 af Bruger #14472