通过SSPI + CGI Perl检索Windows用户名


1

当他访问我的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在目录指令中,它对我有用。我从另一个目录位置引用了原始文件。
Suzun

Answers:


0

通过包含选项对我有用

FollowSymLinks ExecCGI订购允许,全部拒绝

在目录指令中。我从另一个目录位置引用了原始文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.