cas 单点注销

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> <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>

如果有配置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 相关内容有所帮助

 

你可能感兴趣的:(c,filter,ssl,2010)