cas-server-3.3.2
roller 4.0.1
acegi-security.10.3-sample-tutorial.war
cas-client-core-3.1.3.jar cas-client-3.1.3-release.zip的modules目錄下
cas 地址為 http://p.cn:8080/cas
上一篇是單點登入 http://blog.csdn.net/laorer/archive/2010/06/30/5705016.aspx
這一篇是講配置單點登出時碰到的問題,以及解決方案
1.
通過 http://p.cn:8080/cas 登入後,然後通過 http://p.cn:8080/cas/logout 登出,總是不能登出成功,通過httpWatch查看提交的內容時,發現登出時,並沒有相關的cookie,卡在這裡好久了,後來發現是cookie的secure為true的緣故,如果ticketGrantingTicketCookieGenerator.xml檔案中的cookieSecure 改為false的話,是可以登出成功的,但是這樣一來可能會帶來安全問題,最好的方法就是通過 https 方式來登出,即通過 http://p.cn:8443(ssl連接埠)來登出。
有關cookie的參見:
http://www.fh888.com/sf_8C17CE3AA29B4479805CB416B9ADF89F_5_cary.html
http://kiki1120.javaeye.com/blog/648587
2. 統一登出
找了一些資料,但是看了之後還是覺得有點暈糊糊的,用戶端照著《cas 單點登出的原理-》配置就是了
即在cas用戶端 的web.xml 中加上
<filter><br /><filter-name>CAS Single Sign Out Filter</filter-name><br /><filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class><br /></filter></p><p><filter-mapping><br /><filter-name>CAS Single Sign Out Filter</filter-name><br /><url-pattern>/*</url-pattern><br /></filter-mapping></p><p><listener><br /><listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class><br /></listener></p><p>
如果有配置CAS client Filter,則CAS Single Sign Out Filter 必須要放到CAS client Filter之前。
另外需要把cas-client-core-3.1.3.jar放到 cas用戶端的 lib目錄下
cas 單點登出的原理二時,就暈了,不知道從哪裡獲得 originalURL,後來發現,這雷根本就不需要配置。
相關資料
http://hi.baidu.com/songzongquan/blog/item/6b0572f410dc3264ddc47456.html
http://hi.baidu.com/songzongquan/blog/item/0187d5011801f10c1d958357.html
http://www.javaeye.com/topic/546785
另外 http://zhenkm0507.javaeye.com/blog/544899 這篇對理解 cas 相關內容有所協助