Apache-2.2

通過 SSPI + CGI Perl 檢索 Windows 使用者名

  • April 24, 2013

當他訪問我的 Intranet 頁面時,我需要檢索目前登錄的 windows 使用者的使用者名。我正在嘗試在 Windows Server 2008 上使用 Apache 2.2 上的 SSPI(mod_auth_sspi.so) 對我的網頁進行身份驗證。我對 httpd.conf 文件進行了以下更改,並將我的 Intranet 站點添加到瀏覽器設置中的受信任站點。我的網頁在 Perl 中,並且正在使用 CGI.pm。我正在嘗試通過檢索使用者名 $ cgi->user_name() and $ 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。我搜尋了同一個論壇和其他人,這就是他們所做的並且似乎有效。我錯過了什麼嗎?感謝任何幫助。

謝謝

通過包含選項讓它為我工作

FollowSymLinks ExecCGI Order allow,deny Allow from all

在目錄指令中。我從另一個目錄位置引用了原始文件。

引用自:https://serverfault.com/questions/495190