2014-06-06 79 views
7

我有六個應用程序,我正在使用Jasig CAS進行身份驗證。 Jasig CAS的Single Sign On對我來說真的很好。Jasig CAS身份驗證重定向循環

另一方面,Single Sign Off不適合我。當我從其中一個應用程序註銷時,我無法從其根域訪問其他應用程序,但我可以使用它們的子服務訪問它們。

APP1 = http://domain.com/app1

APP2 = http://domain.com/app2

如果我從APP1註銷,我無法達到http://domain.com/app2但我可以達到http://domain.com/app2/someservice

信息:

我正在使用ProxyPass將應用程序導向Jasig CAS。

在Apache中CAS web.xml中,我已經加入:

<filter> 
    <filter-name>CAS Single Sign Out Filter</filter-name> 
    <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>CAS Single Sign Out Filter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

<listener> 
    <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class> 
</listener> 

我的應用程序是基於JSP和Django的。

CAS版本:3.3.10

---- ---- UPDATE

我管理通過從改變的應用程序配置的「滿足」參數來解決4/6個應用「任何」改爲「全部」。

在Tomcat上部署了6個應用程序中的2個,並使它們在apache上運行,因此使用mod_jk。當我嘗試進入這些應用程序時,我得到一個重定向循環錯誤。因爲

1-)應用請求票生成從CAS車票

2-)CAS提供票證產生標籤

3-)應用重新發送票生成票獲得的車票

4- )CAS重定向到應用

5-主要起始頁)回到狀態1

當我看着我看到的cas.log文件

FormObjectClass未設置。使用默認的org.jasig.cas.authentication.principal.UsernamePasswordCredentials類以及formObjectName憑證和驗證器org.jasig.cas.validation.UsernamePasswordCredentialsValidator。

錯誤

有什麼建議嗎?

+0

我的第一個猜測是:http://domain.com/app2/someservice被緩存。 –

+0

什麼是Apache CAS?你的意思是[Jasig CAS](http://jasig.org/cas)? –

+0

是的,我的意思是,感謝您的糾正。 – Skr

回答

0

您是否使用「django-cas-client」作爲身份驗證後端?

我不確定您是否需要在JaSig CAS端配置任何單一簽名。這是一種註銷方式,您可以自由使用它。

你可能想學習這些文章(S):

+0

我正在使用proxypass將CAS用作所有應用程序的網關。它適用於那些我使用mod_jk來製作Tomcat和Apache的人。 – Skr