当他访问我的Intranet页面时,我需要检索当前登录的Windows用户的用户名。我正在尝试在Windows Server 2008和Apache 2.2上使用SSPI(mod_auth_sspi.so)对网页进行身份验证。我对httpd.conf文件进行了以下更改,并将我的Intranet站点添加到浏览器设置中的受信任站点。我的网页在Perl中,并且正在使用CGI.pm。我试图通过$ cgi-> user_name()和$ cgi-> remote_user()检索用户名,并尝试检查REMOTE_USER和AUTH_USER cgi ENV变量以获取用户名。
<IfModule !mod_auth_sspi.c>
LoadModule sspi_auth_module modules/mod_auth_sspi.so
</IfModule>
<Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/TestWeb/">
<Files Test.pl>
AuthName "TestWeb"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIOfferBasic Off
Require valid-user
SSPIDomain domain name
</Files>
</Directory>
更改后,我已经重新启动了Apache。我看不到cgi Environment变量在环境变量中获取用户ID。我搜索了同一个论坛和其他论坛,这是他们都做了的并且似乎可以正常工作。我想念什么吗?感谢任何帮助。
谢谢
Options FollowSymLinks ExecCGI Order allow,deny Allow from all
在目录指令中,它对我有用。我从另一个目录位置引用了原始文件。