CAS单点登出实现案例
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单点登出实现案例相关推荐
- CAS学习笔记五:SpringBoot自动/手动配置方式集成CAS单点登出
本文目标 基于SpringBoot + Maven 分别使用自动配置与手动配置过滤器方式实现CAS客户端登出及单点登出. 本文基于<CAS学习笔记三:SpringBoot自动/手动配置方式集成C ...
- CAS单点登出,调整CAS源码,实现前后端分离单点登出、清除redis、shiro登录状态
前端点击"登出"按钮,跳转到CAS的登出. CAS默认配置了单点登出,在登出后,会向所有客户端系统发送这个用户登出的报文. 各客户端系统有责任接收并处理这个用户登出的报文,然后在注 ...
- CAS学习笔记四:CAS单点登出流程
CAS 的登出包含两种情况,一种是CAS客户端登出,另一种是CAS单点登出,使用流程图说明这两者的不同.(一图胜千言) 总结自官方文档 CAS客户端登出流程 如图,客户端的登出仅仅是过期当前用户与客户 ...
- CAS 单点登出失效的问题(源码跟踪)
一.环境说明 服务端:cas-server-3.5.2 客户端:cas-client-3.2.1+spring mvc 说明:服务端与客户端均是走的Https 客户端配置文件: application ...
- CAS 4.1.x 单点登出(退出登录)的原理解析
2019独角兽企业重金招聘Python工程师标准>>> 我们在项目中使用了cas作为单点登录的解决方案,当在集成shiro做统一权限控制的时候,发现单点退出登录有坑,所以啃了一下CA ...
- 源代码解读Cas实现单点登出(single sign out)功能实现原理
关于Cas实现单点登入(single sing on)功能的文章在网上介绍的比较多,想必大家多多少少都已经有所了解,在此就不再做具体介绍.如果不清楚的,那只能等我把single sign on这块整理 ...
- 源代码解读Cas实现单点登出(single sign out)功能实现原理--转
关于Cas实现单点登入(single sing on)功能的文章在网上介绍的比较多,想必大家多多少少都已经有所了解,在此就不再做具体介绍.如果不清楚的,那只能等我把single sign on这块整理 ...
- CAS单点登录四-单点登出
实现最基本的单点登出只需在client处的web.xml中加入一个过滤器和一个监听器 <listener> <listener-class>org.jasig.cas.clie ...
- shiro-cas------实现单点登出并自定义登出starter
在上一篇shiro-cas------整合springboot客户端实现简易的单点登陆后,我们接下来看下单点登出功能.shiro-cas-client-one系统退出,那么shiro-cas-clie ...
最新文章
- oracle home 命令,$ORACLE_HOMEbin目录下所有命令的使用方法及命令详解
- 解压版mysql安装服务失败怎么办_mysql-8.0.17解压版安装步骤及MySQL服务无法启动问题的解决办法...
- wxWidgets:wxEventFilter类用法
- 阿里云服务器安全设置
- 【Gym - 101915D】Largest Group(二分图最大团,状压dp)
- 壁式框架内力计算_剪力墙结构设计计算要点和实例
- 跨域产生的原因和解决方法_针织面料染色折痕/产生的原因及解决方法
- ECC椭圆曲线加密算法原理 | 比特币加密算法
- keras实现DeepDream
- Java对象序列化文件追加对象的问题,以及Java的读取多个对象的问题解决方法。
- 大数据处理分为哪些步骤
- php连接mysql数据没反应_php无法连接mysql数据库的正确解决方法
- 万稞pw80线切割编程软件_Sodick 沙迪克慢走丝线切割机床,工件摆斜不校边加工步骤...
- python敏感词替换
- 基于SNMP的网络管理软件设计方案和实现
- 两个星期学会软件测试?我震惊了!
- An invalid domain was specified for this cookie
- 高等代数 线性映射(第9章)3 不变子空间与最小多项式
- VNode――Beijing OpenParty晓风归雁后记
- linux硬盘对拷 软件,分享|10 个免费的磁盘克隆软件
热门文章
- 软件工程实践_Task2_sudoku
- 数据结构上机实践第14周项目1(2) - 验证算法(分块查找)
- 在Eclipse中实现C++ 11的完整支持
- 华为在鸿蒙的另一张王牌,华为的这两张王牌,将助力Mate40系列角逐安卓机皇的位置...
- c语言输出合法的出栈算法,c语言栈的实现以及操作
- python显示当前日期_python显示当前时间
- php分片数据库,4、PHP测试分片集群
- php替换图片_php实现图片上传并进行替换操作
- 语言 泰克示波器程序_泰克Tektronix 任意波函数发生器AFG2000系列AFG2021
- 计算机表演赛怎么打用户名,赛事报名操作指南 | 第28届中国儿童青少年威盛中国芯HTC计算机表演赛...