2012-09-06 147 views
2

我們有一個應用程序在我們的內部網上使用WAMP(W for Windows,P for PHP)在Windows桌面上託管。我們需要實現一項新功能 - 通過在用戶訪問我們的Intranet站點時使用他/她的Windows登錄憑據來驗證用戶的身份。通過LDAP爲當前Windows用戶的憑證進行身份驗證?

在這裏,我沒有實施它的一些基本概念 - 我如何可以訪問記錄在PHP用戶詳細信息當前的Windows。

有什麼方法來檢測出當前用戶是誰,並進行驗證通過這個用戶數據給我們進行驗證的LDAP服務器?

+1

PHP不提供驗證,Web服務器。就你而言,Apache並不是專門爲集成Windows身份驗證而設計的,儘管模塊已經爲它編寫。另一方面,如果您可以切換到IIS,那麼您將獲得免費的集成身份驗證。 – Neil

+0

你可以訪問環境變量,它可以告訴你用戶名 - 但只有當用戶而不是服務器正在運行應用程序時。 –

+0

@尼爾:感謝您的提供。您可以讓我們知道IIS如何幫助我們實現目標嗎?請注意,在服務器端我們使用PHP腳本。因此,對於LDAP驗證,我需要在我的PHP腳本中包含用戶詳細信息。從env變量獲取有點危險,因爲它可能被覆蓋。請注意,我們也可以從MAC/Linux桌面進行用戶日誌記錄 – Prakash

回答

1

我建議你使用mod_auth_sspi - Apache 2.x認證模塊。這是非常容易設置。

這裏是網頁http://sourceforge.net/projects/mod-auth-sspi/

可以保護位置,文件夾或特定文件。您可以允許/拒絕特定用戶,組,域等

我實現了這個在Windows 2008服務器上運行的Apache 2.2和PHP 5.2,它完美地工作對我的SSO。

1

到這裏看看:http://siphon9.net/loune/2007/10/simple-lightweight-ntlm-in-php/

是1個半認證。

只需注意apache需要有KeepAlive在設置集。

它會給你當前用戶的登錄/域/工作站信息。

如果您需要完整的NTLM身份驗證方案的支持,您的Web服務器需要模塊它。

看看這裏:http://modntlm.sourceforge.net/

這裏:http://bloke.org/linux/ntlm-authentication-active-directory-on-apache-linux/

Inboth情況下,URL需要在 「信任區域」 爲IE和Firefox的類似設置。

+0

我們有MAC/Linux桌面的用戶上面的解決方案是否適用於他們 - 我的意思是,如果他們在MAC/Linux桌面使用瀏覽器訪問我們的Intranet站點,我們將能夠檢索詳細信息嗎? – Prakash

+0

不,您要求「通過LDAP驗證當前Windows用戶的憑據」 - 沒有MAC否Linux – rkosegi

+0

對不起,混淆 - 最初他們都是Windows OS的問題,他們可以將其桌面更改爲MAC/Linux,但他們的憑據仍然是訪問我們的組織n/w – Prakash

相關問題