2019独角兽企业重金招聘Python工程师标准>>>

单点登出的实现比较简单,就是简单的几个配置。

如果直接调用cas的logout的url进行登出,则会暴露cas的登出界面

显然这不是我们想要的,通常登出的需求是:退出当前账户,然后将url重定向到登录界面。

于是我用了一个蠢笨的方式来实现:

干货模式开启:

1、在页面的退出按钮下的function

   function fn_logout(){$.ajax({url:"../user/logout",type:'post'});window.location.href="https://cas.demo.com:8443/cas/logout?service=http://127.0.0.1:8089/portal/user/login";}

老规矩,贴图片详解

2、然后我把Controller里的logout方法贴出来

@RequestMapping("logout")public void logout(HttpSession session) {//清楚session相关记录session.removeAttribute("admin");session.removeAttribute(com.common.util.SessionListener.LISTENER_NAME);}

3、进行cas服务器配置文件的修改  cas\WEB-INF\cas-servlet.xml

  <bean id="logoutController" class="org.jasig.cas.web.LogoutController"p:centralAuthenticationService-ref="centralAuthenticationService"p:logoutView="casLogoutView"p:warnCookieGenerator-ref="warnCookieGenerator"p:ticketGrantingTicketCookieGenerator-ref="ticketGrantingTicketCookieGenerator"p:servicesManager-ref="servicesManager"p:followServiceRedirects="${cas.logout.followServiceRedirects:true}"/>

注意最后一行的p:followServiceRedirects="${cas.logout.followServiceRedirects:true}"原本属性为false。

意思是:成功Logout后,如果包含Service参数,则重定向到Service指定的网址。

这样就可以在页面logout的时候,同时清理掉当前用户的session,又redirect到当前系统的登录界面,从而省去了caslogout页面的修改或单纯的实现:登出后释放当前用户的session,跳转到系统登录界面。

转载于:https://my.oschina.net/ytliyang/blog/803573

CAS单点登出实现案例相关推荐

  1. CAS学习笔记五:SpringBoot自动/手动配置方式集成CAS单点登出

    本文目标 基于SpringBoot + Maven 分别使用自动配置与手动配置过滤器方式实现CAS客户端登出及单点登出. 本文基于<CAS学习笔记三:SpringBoot自动/手动配置方式集成C ...

  2. CAS单点登出,调整CAS源码,实现前后端分离单点登出、清除redis、shiro登录状态

    前端点击"登出"按钮,跳转到CAS的登出. CAS默认配置了单点登出,在登出后,会向所有客户端系统发送这个用户登出的报文. 各客户端系统有责任接收并处理这个用户登出的报文,然后在注 ...

  3. CAS学习笔记四:CAS单点登出流程

    CAS 的登出包含两种情况,一种是CAS客户端登出,另一种是CAS单点登出,使用流程图说明这两者的不同.(一图胜千言) 总结自官方文档 CAS客户端登出流程 如图,客户端的登出仅仅是过期当前用户与客户 ...

  4. CAS 单点登出失效的问题(源码跟踪)

    一.环境说明 服务端:cas-server-3.5.2 客户端:cas-client-3.2.1+spring mvc 说明:服务端与客户端均是走的Https 客户端配置文件: application ...

  5. CAS 4.1.x 单点登出(退出登录)的原理解析

    2019独角兽企业重金招聘Python工程师标准>>> 我们在项目中使用了cas作为单点登录的解决方案,当在集成shiro做统一权限控制的时候,发现单点退出登录有坑,所以啃了一下CA ...

  6. 源代码解读Cas实现单点登出(single sign out)功能实现原理

    关于Cas实现单点登入(single sing on)功能的文章在网上介绍的比较多,想必大家多多少少都已经有所了解,在此就不再做具体介绍.如果不清楚的,那只能等我把single sign on这块整理 ...

  7. 源代码解读Cas实现单点登出(single sign out)功能实现原理--转

    关于Cas实现单点登入(single sing on)功能的文章在网上介绍的比较多,想必大家多多少少都已经有所了解,在此就不再做具体介绍.如果不清楚的,那只能等我把single sign on这块整理 ...

  8. CAS单点登录四-单点登出

    实现最基本的单点登出只需在client处的web.xml中加入一个过滤器和一个监听器 <listener> <listener-class>org.jasig.cas.clie ...

  9. shiro-cas------实现单点登出并自定义登出starter

    在上一篇shiro-cas------整合springboot客户端实现简易的单点登陆后,我们接下来看下单点登出功能.shiro-cas-client-one系统退出,那么shiro-cas-clie ...

最新文章

  1. oracle home 命令,$ORACLE_HOMEbin目录下所有命令的使用方法及命令详解
  2. 解压版mysql安装服务失败怎么办_mysql-8.0.17解压版安装步骤及MySQL服务无法启动问题的解决办法...
  3. wxWidgets:wxEventFilter类用法
  4. 阿里云服务器安全设置
  5. 【Gym - 101915D】Largest Group(二分图最大团,状压dp)
  6. 壁式框架内力计算_剪力墙结构设计计算要点和实例
  7. 跨域产生的原因和解决方法_针织面料染色折痕/产生的原因及解决方法
  8. ECC椭圆曲线加密算法原理 | 比特币加密算法
  9. keras实现DeepDream
  10. Java对象序列化文件追加对象的问题,以及Java的读取多个对象的问题解决方法。
  11. 大数据处理分为哪些步骤
  12. php连接mysql数据没反应_php无法连接mysql数据库的正确解决方法
  13. 万稞pw80线切割编程软件_Sodick 沙迪克慢走丝线切割机床,工件摆斜不校边加工步骤...
  14. python敏感词替换
  15. 基于SNMP的网络管理软件设计方案和实现
  16. 两个星期学会软件测试?我震惊了!
  17. An invalid domain was specified for this cookie
  18. 高等代数 线性映射(第9章)3 不变子空间与最小多项式
  19. VNode――Beijing OpenParty晓风归雁后记
  20. linux硬盘对拷 软件,分享|10 个免费的磁盘克隆软件

热门文章

  1. 软件工程实践_Task2_sudoku
  2. 数据结构上机实践第14周项目1(2) - 验证算法(分块查找)
  3. 在Eclipse中实现C++ 11的完整支持
  4. 华为在鸿蒙的另一张王牌,华为的这两张王牌,将助力Mate40系列角逐安卓机皇的位置...
  5. c语言输出合法的出栈算法,c语言栈的实现以及操作
  6. python显示当前日期_python显示当前时间
  7. php分片数据库,4、PHP测试分片集群
  8. php替换图片_php实现图片上传并进行替换操作
  9. 语言 泰克示波器程序_泰克Tektronix 任意波函数发生器AFG2000系列AFG2021
  10. 计算机表演赛怎么打用户名,赛事报名操作指南 | 第28届中国儿童青少年威盛中国芯HTC计算机表演赛...