cas系列-cas登出(四)

摘要:
与登录一样,注销也很重要。由于它是一个多应用程序操作,状态维护也是一个重要的点。根据注销的影响范围,注销操作可分为两类:单应用程序注销单点注销(多应用程序注销)。顾名思义,单个应用程序注销只影响正在运行的应用程序会话,其他应用程序和CAS会话状态不受影响。这也要求您注销每个应用程序。如果有很多应用程序,每次注销都可能是一项艰巨的工作。单次注销是结束SSO会话。在SSO会话上建立的所有应用程序会话都将注销。这将保持用户的状态一致

跟登陆一样,登出操作也很重要.由于是多应用间操作,状态保持也是一个要点,根据登出的影响范围,可以将登出操作分为两类:

  • 单应用登出
  • 单点登出(多应用登出)

顾名思义,单应用登出即登出只影响被操作的应用会话,其他应用和CAS会话状态不受影响.这也就需要你退出每一个应用,如果应用数量较多,每次退出可能都是件力气活.单点登出是结束SSO会话,所有建立在SSO会话上的的应用会话都会进行登出.使用户的状态保持一致.当应用间会话记录不一致时,登出操作可能会造成会话记录丢失;

  • 登出操作:
/logout?service=http://redirectUrl

根据CAS协议,/logout终点可以销毁当前SSO回话.

根据重定向配置的不同,可以分为三种方式:

第一种:全局重定向

  在cas的配置文件中,通过cas.logout.redirectUrl参数可以定义全局重定向地址.

第二种:参数重定向

  通过service参数定义登出重定向地址,启用service参数需要在允许服务重定向,相关配置如下:

cas.logout.followServiceRedirects=true 
cas.logout.redirectParameter=service
cas.logout.redirectUrl=https://www.github.com
cas.logout.confirmLogout=false
cas.logout.removeDescendantTickets=true

第三种:服务级别重定向

  在注册服务中定义logoutUrl参数进行定义重定向地址;

{
  "@class" : "org.apereo.cas.services.RegexRegisteredService",
  "serviceId" : "testId",
  "name" : "testId",
  "id" : 1,
  "logoutType" : "BACK_CHANNEL",
  "logoutUrl" : "https://web.application.net/logout"
}
logoutType:分为FRONT_CHANNEL,BACK_CHANNEL
  FRONT_CHANNEL:显示登出.cas直接发送http post请求到服务;
  BACK_CHANNEL:隐式登出.cas发送异步ajax get请求到已认证服务.通过cas客户端使应用会话失效;

  • 关闭单点登出:

需要在cas配置文件中增加如下配置,单点登出默认开启

cas.slo.disabled=true
cas.slo.asynchronous=true
  • SSO会话和应用会话

SSO会话是CAS通过TicketGrantingTicket和TGC进行状态保持而建立的会话;

应用会话:应用进行状态保持而建立的会话;

CAS不是一个应用会话管理工具,应用会话管理应该是应用自身的职责.当认证工作完成之后,CAS就会退出整个业务逻辑,后续的功能应该是应用自身完成.

免责声明:文章转载自《cas系列-cas登出(四)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇spring-boot 2.5.4,nacos 作为配置、服务发现中心,Cloud Native Buildpacks 打包镜像,GitLab CI/CD微信小程序反编译解包教程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

微博第三方登陆请求授权出现错误码:21322(重定向地址不匹配)的解决方法

https://hostcoz.com/151.html 主题自带了微博登陆接口,很简单的去新浪微博开放平台创建了网页应用,然后把APP ID和 AppSecret填好后,以为大功告成后,轻车熟路地点击使用微博登陆,映入我眼前的是: 用微博帐号登录出错了!对第三方应用进行授权时出现错误,请您联系第三方应用的开发者:XXX 或者稍后再试。 错误码:213...

windows2012添加ssl证书

第一步: 先下载 rewrite_x64_zh-cn.msi ,并安装 (*这个是2.0版本,千万不要安装2.1版本,否则导致网站进程池全部关闭) https://www.microsoft.com/zh-CN/download/confirmation.aspx?id=7435 第二步: 安装好后,网站的iis里面会有url 重写, 点击进入,点击添加空...

selenium URL重定向检查

有时候需要测试URL重定向是否正确,本文介绍一种使用selenium测试URL重定向的方法。 重定向的最直接表现是URL地址发生了变化,所有主要思路就是检查URL地址是否跳转成功。selenium检测URL变化可以使用expected_conditions 方法: from selenium.webdriver.support import expecte...

shell启动脚本中的0、1、2、>和&解析

目录 一、0 1 2 文件描述符 二、>是重定向符,就是把前面输出的内容重定向到后面指定的位置 三、& 是一个描述符,如果1或2前不加&,会被当成一个普通文件 nohup sh gmv.sh >ls.txt 2>&1 & 后台运行脚本的一般格式,并且把日志(正常日志和错误日志)输出到ls.txt中 tail...

nginx反向代理后,重定向失败问题

nginx反向代理后,重定向失败问题 location / { proxy_set_header Host 172.18.0.242:90;proxy_pass http://172.18.0.246; } proxy_set_header Host xxxxxx; 主要是改变头部就行了。 找这个找了很久。...

JVM 源码分析(三):深入理解 CAS

前言 什么是 CAS Java 中的 CAS JVM 中的 CAS 前言 在上一篇文章中,我们完成了源码的编译和调试环境的搭建。 鉴于 CAS 的实现原理比较简单, 然而很多人对它不够了解,所以本篇将从 CAS 入手,首先介绍它的使用,然后分析它在 Hotsport 虚拟机中的具体实现。 什么是 CAS CAS(Compare And Sw...