2014-10-02 32 views
0

我正在處理典型的Web應用程序,但通過Shiro執行身份驗證和授權並使用JASIG CAS SSO。我的應用程序是一個運行在tomcat 7上的JSF 2 webapp。我有Shiro啓用它,並且在我的Shiro配置中我已經連接到了CAS領域。所有工作正常...即,Web應用程序運行良好,shiro正在重定向到CAS登錄頁面。反過來,CAS將我重定向回原始請求的URL。 然後沒有反應!我得到一個重定向循環!使用Apache Shiro和CAS重定向SSO上的Web應用程序的環路

https://myhost:8443/gdsicache/secured/index?ticket=ST-37-L2N7SCVtHxHWENqBfpOY-cas01.example.org 

由於可以從鏈接中可以看出:我重定向到所請求的安全資源https://myhost/gdsicache/secured/index,我也拿到了機票,但隨後一個循環結束了。

有沒有人知道爲什麼流程在重定向循環中結束? Iam沒有進行任何重定向,因爲我的Web.xml文件中除了shiro過濾器之外沒有其他過濾器。

回答

1

此重定向循環通常由服務器證書引起,而JVM無法識別服務器證書,主要由客戶端計算機JVM引起。如果您的應用程序與服務器分離,尤其是JVM,則應確保您擁有由CA頒發的導入根,中間(有時是交叉)證書。否則,您的CAS客戶端將執行該循環,因爲它無法識別服務器上的證書。

請注意,它不是導致問題的瀏覽器證書,它是JVM。

PS。您可能還需要將您的根,intermeadiate(和someties cross)證書導入CAS服務器JVM。