2015-12-07 219 views
4

首先,我一直在搜索互聯網大約一個小時,試圖找出如何做到這一點沒有成功 - 因此我正在寫這個問題。爲Apache設置Windows身份驗證

我有一個Intranet站點需要訪問用戶Windows用戶名(不是運行Apache的服務器,而是訪問Intranet站點的用戶)。

我已經安裝了adLDAP,並讓它工作,用戶可以通過它登錄,以檢查用戶所在的組。但爲了讓我的網站更安全,我寧願它訪問Windows用戶名。

我看到有一個名爲mod_auth_sspi的apache模塊,但我找不到如何安裝它甚至在我的代碼中實現(使用)它。

我是在Windows Server上使用Apache V2.4,PHP 5.6.8 2008年

回答

2

所以...我發現瞭如何在幾個小時的谷歌搜索後,做到這一點...它應該是更直截了當地找到答案,但儘管如此,在這裏它是:

1)下載下列模塊,爲您的系統(位32 64位):https://www.apachehaus.net/modules/mod_authnz_sspi/

2)將文件粘貼到你的模塊文件夾。 /apache/modules/

3)編輯以下配置文件:

3.1)php/php.ini:取消extension=php_ldap.dll線。

3.2)apache/conf/httpd.ini:添加以下到LoadModules節的末尾:

LoadModule authn_core_module modules/mod_authn_core.so 
LoadModule authz_core_module modules/mod_authz_core.so 
LoadModule authnz_sspi_module modules/mod_authnz_sspi.so 

3.3)找到<Directory標籤和刪除打開和關閉標籤及其內容。然後粘貼在以下內容:

<Directory /> 
Options None 
AllowOverride All 
Order allow,deny 
Allow from all 
AuthName intranet 
AuthType SSPI 
SSPIAuth On 
SSPIAuthoritative On 
SSPIOfferBasic On 
SSPIOmitDomain On 
Require valid-user 
</Directory> 

然後重新啓動Apache後,它都應該工作。通過<?php echo $_SERVER['PHP_AUTH_USER'] ?>

+0

獲取Windows用戶的用戶名不幸的是,我不得不關注所有這些,並重新檢查並重新檢查了我的工作,但仍然無法使其工作。 – Lynchie

+0

@Lynchie在什麼情況下你試圖讓這個工作;它以什麼方式不起作用? –

+0

嗨Callum,基本上我想獲得環境用戶名,以便我可以使用它來控制CSS樣式表。 – Lynchie