2008-09-04 107 views

回答

1

我發現mod_auth_spnego也相當好,因爲它可以在Windows上使用SSPI而不需要MIT Kerberos。 mod_spnego

1

我喜歡有關配置Apache以使用Kerberos這篇文章:

http://www.roguelynn.com/words/apache-kerberos-for-django/

(你可以跳過關於Django的部分,如果你不感興趣)

編輯:

Fullblown answer

配置apache以使用Kerberos身份驗證非常簡單。

我假設你已經在你的機器上正確配置了Kerberos。

1)您的網絡服務器必須有keytab [1]。

底線,您的網絡服務器能夠讀取密鑰表!

2)你必須有適當的身份驗證模塊的httpd - mod_auth_kerb

LoadModule auth_kerb_module modules/mod_auth_kerb.so 

3)然後,你必須告訴Apache有關Kerberos:

<Location /> 
    AuthName "Kerberos Authentication -- this will be showed to users via BasicAuth" 
    AuthType Kerberos 
    KrbMethodNegotiate On 
    KrbMethodK5Passwd Off 
    # this is the principal from your keytab (you may lose the FQDN part) 
    KrbServiceName HTTP/$FQDN 
    KrbAuthRealms KERBEROS_DOMAIN 
    Krb5KeyTab /path/to/http.keytab 
    Require valid-user 

    Order Deny,Allow 
    Deny from all 
</Location> 

然後Apache將通過用戶通過REMOTE_USER HTTP頭向您的應用程序發送。

就是這樣。

我也建議你在安裝過程中打開apache的調試日誌。確保你有正確的時間,httpd可以讀取密鑰表,就這些。

[1] http://kb.iu.edu/data/aumh.html

[2]主要資源:http://www.roguelynn.com/words/apache-kerberos-for-django/

+2

感謝張貼你的答案!請注意,你應該在這裏發佈答案的重要部分,在這個網站上,或者你的帖子風險被刪除[參見常見問題,其中提到的答案几乎不超過鏈接。](http:// stackoverflow。 com/faq#deletion)如果您願意,您可能仍然包含該鏈接,但僅作爲「參考」。答案應該獨立,不需要鏈接。 – Taryn 2013-09-11 15:45:59