cas sso 单点登陆 注销及跳转到制定地址(四)

CAS SSO 代码及依赖的jar下载: http://download.csdn.net/detail/nmsbq/9875610

1.配置注销后支持跳转到制定的地址 WEB-INF/cas.properties文件 改成true

cas.logout.followServiceRedirects=true


2.客户端

web.xml 中在登录的filter之前增加

<!--单点退出配置-->  
<listener>  
    <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>  
</listener>   
<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>  

3.修改注销时的链接
在客户端系统要配置的系统“退出”链接后加上“?service=退出返回后的地址”,例如:CAS测试用的两个客户端的配置。例如:

<ahref="https://cas.test123.com:8843/cas/logout?service=http://client.test123:8080”>退出</a>

4.总结

/logout: ( 对应实现类 org.jasig.cas.web.LogoutController ),注销的处理逻辑如下:
    (1)    removeCookie
    (2)    在服务端删除TicketGrantingTicket 对象(此对象封装了cookie 的value 值)
    (3)    redirect 到退出页面,有2 种选择:
      l  如果LogoutController 的followServiceRedirects 属性为true 值,且url 里的service 参数非空,则redirect 到 sevice 参数标识的url;
      l  否则, redirect 到内置的casLogoutView ,如果url 里有url 参数,则此url 参数标识的链接会显示在casLogoutView 页面上。
         耐心的看看这些开源框架的源码,你很容易就明白了为什么这么做;当然如果熟读源码的话,你就可以按着自己的想法随意的修改框架的各个部分。









  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值