shiro + cas 4.04 单点退出 注销

假如你已经整合了shiro +cas的情况下。由于注销cas成功后,是cas注销成功页面,无法跳转到客户端登陆页面。发生这种情况如何处理:
客户端:配置如图
shiro + cas 4.04 单点退出 注销_第1张图片
注意,redirectUrl 中
${cas.server}/logout 是cas 服务端注销地址,负责清除认证中心全局会话TGT,同时清掉cookie中TGT的id:TGC
注:TGT和TGC的关系:用户和认证中心之间建立起了全局会话,这个全局会话就是TGT(Ticket Granting Ticket),TGT位于CAS服务器端,TGT并没有放在Session中,也就是说,CAS全局会话的实现并没有直接使用Session机制,而是利用了Cookie自己实现的,这个Cookie叫做TGC(Ticket Granting Cookie),它存放了TGT的id,保存在用户浏览器上。
?service= cas.server/login?service= {cas.client}/index1.html 这部分就是你退出登陆后,服务端回调客户端的地址,由于已经退出登陆了,这个地址只要是访问在权限控件中的资源都可以,都会自动跳转到登陆页面。
服务器端:配置如图
shiro + cas 4.04 单点退出 注销_第2张图片
cas-servlet.xml路径:WEB-INF/cas-servlet.xml 中找id=”logoutAction” 将cas.logout.followServiceRedirects:false 改为true,最后重启cas服务器和客户端就可以了。

由于平时很少写博客,写的很差,请多见谅。
这里推荐下我的开源项目:
hxyFrame是一个OA办公系统,采用流行的框架springMvc+spring+mybatis+shiro+ehcache开发,还集成了权限管理(菜单权限、数据权限),完善的代码生成器,solr全文搜索引擎,activiti工作流程引擎,cas单点登陆等功能,后期还会考虑改造成Dubbo微服务化,做到模块的相对独立,使用更加灵活,努力做到快速开发OA办公系统。 感兴趣可以Watch、Start持续关注项目最新状态,加入QQ群:210315502
oschina仓库:https://git.oschina.net/huangxianyuan/hxyFrame.git
github仓库:https://github.com/huangxianyuan/hxyFrame.git

你可能感兴趣的:(cas)