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 中加上

 

view plain
  1. <filter>  
  2. <filter-name>CAS Single Sign Out Filter</filter-name>  
  3. <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>  
  4. </filter>  
  5.   
  6. <filter-mapping>  
  7. <filter-name>CAS Single Sign Out Filter</filter-name>  
  8. <url-pattern>/*</url-pattern>  
  9. </filter-mapping>  
  10.   
  11. <listener>  
  12. <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>  
  13. </listener>  

如果有配置CAS client Filter,则CAS Single Sign Out Filter 必须要放到CAS client Filter之前。
另外需要把cas-client-core-3.1.3.jar放到 cas客户端的 lib目录下

cas 单点登出的原理二时,就晕了,不知道从哪里获得 originalURL,后来发现,这里根本就不需要配置。

你可能感兴趣的:(CAS 单点注销)