簡體   English   中英

使用Kerberos進行PHP Active Directory身份驗證

[英]PHP Active Directory authentication with Kerberos

我目前正在將CMS(用PHP開發)身份驗證與Active Directory集成。 此特定Active Directory僅允許通過Kerberos或ldaps://進行身份驗證(但最后一個不是最需要的,因為我必須使用絕對路徑)。

我一直在網上搜索有關PHP AD Kerberos身份驗證的任何信息,但一無所獲。 誰能指出我正確的方向?

提前致謝。

如果您使用的是Active Directory,那么您的網絡服務器可能是IIS,它有內置的kerberos * ..然后讓瀏覽器和網絡服務器處理身份驗證並使用一些PHP,如:

$user = isset($_SERVER['AUTH_USER']) ? $_SERVER['AUTH_USER'] : false; 
if((false === $user) or ('' == $user)){
//Divert to incorrect password page.. 
//MSIE typically tries three times, Kerb/NTLM/Plain
//FF will only try NTLM/Plain if configured for NTLM
//Chrome.. won't work with this at all.. not that I have discovered.
//If testing locally using Apache, user will be 0
}

現在你可以使用Kerberos進行SSO,實現魅力。

*:稱為“集成Windows身份驗證” http://support.microsoft.com/kb/324274 ,必須通過將“安全區域”設置為“本地Intranet”來在瀏覽器中啟用..如果IIS框實際打開,可能會發生這種情況本地Intranet ..但它取決於SPN和域用戶的框和IIS框和任何信任關系..如果它在一個域名/機器名稱相同的域應該工作。 如果你正在聚集或任何有趣的事情,期待一個主要的頭痛,而不僅僅是一個正常的頭痛。 如果您覺得有需要,可以腳本/ GPO IE設置。

希望你在問別的東西..如果我祈禱它會是你沒有實現這個,它會導致每個請求的整個身份驗證過程..結果會減慢每個頁面的負載..無論有多少聚合/ hacks / workarounds你實現..這只是一個壞主意,但一旦你開始或告訴經理,他們真的很喜歡它,因為它節省了他們不得不再次登錄..哦,他們仍然會抱怨速度,但..

不是免費軟件解決方案 - 谷歌'Plexcel'關鍵字

PHP有一個krb5模塊。 它有一個PECL條目,但還沒有包裝。 你可以在這里找到更多相關信息:

http://mbechler.eenterphace.org/blog/index.php?/archives/12-php_krb5-releases.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM