2010-01-11 68 views
2

我有一個工作的Kerberos SSO設置中,我使用Apache和JBoss與mod_jk的配置Apache重定向或自定義401文件。 Apache是​​保護(供Kerberos)自動login.htm頁具有以下配置:如何Kerberos的SSO登錄失敗

<Location /auto-login.htm> 
AuthType   Kerberos 
AuthName   "Kerberos Active Directory Login" 
KrbMethodNegotiate on 
KrbMethodK5Passwd on 
KrbAuthRealms  KRB.SOMEDOMAIN.COM 
KrbServiceName  HTTP/[email protected] 
Krb5Keytab   /etc/krb/krb5.keytab 
KrbVerifyKDC  on 
KrbAuthoritative on 
require   valid-user 
#ErrorDocument 401 /login.htm 
</Location> 

這個工程100%,我能夠使用Kerberos/SSO登錄並閱讀我的Java應用程序的REMOTE_USER變量。

現在的問題是,我想重定向到一個未受保護的login.htm如果用戶無法通過Kerberos/SSO登錄。我想到解決的辦法是設置一個401的ErrorDocument,但是當我設置了在代碼取消對#ErrorDocument 401上面它總是重定向到login.htm爲返回一個401請求用戶憑證是Kerberos的固有組成部分/ SSO身份驗證過程。這樣的結果是用戶始終在login.htm結束了,從來沒有完成的Kerberos/SSO登錄過程。

任何幫助或替代解決方案將不勝感激。

預先感謝
皮爾

+1

不應該這是對serverfault.com? – Kimvais 2010-01-11 09:15:50

+0

我在這裏添加了它,因爲這些標記在serverfault上是新的,但已經在stackoverflow中使用。但是現在我把它貼在那裏以及縮小標籤。 http://serverfault.com/questions/101462/how-to-setup-apache-redirect-or-custom-401-document-on-kerberos-sso-login-failure – 2010-01-11 10:28:34

回答

5

爲了不中斷的Kerberos/SSO認證處理中,使用下面的:

ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=/login.htm\"></html>" 

這將導致重定向僅當用戶點擊取消發生在瀏覽器對話框中。

0

對於任何介質間步驟,將上述內容掛接到HTTP流中,例如, Servlet,除了返回成功的認證外。