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

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

我需要检索当前登录的 Windows 用户访问我的内部网页面时的用户名。我尝试使用 Windows Server 2008 上的 SSPI(mod_auth_sspi.so) 和 Apache 2.2 对我的网页进行身份验证。我对 httpd.conf 文件进行了以下更改,并将我的内部网站点添加到浏览器设置中的受信任站点。我的网页使用 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 环境变量来获取环境变量中的用户 ID。我搜索了同一个论坛和其他论坛,他们都这样做了,而且似乎有效。我遗漏了什么吗?非常感谢任何帮助。

谢谢

答案1

通过添加选项,它对我来说有效

FollowSymLinks ExecCGI 命令允许、拒绝 允许所有

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

相关内容