单点登出
目录
1.1 Cas Client端配置单点登出
单点登出功能跟单点登录功能是相对应的,旨在通过Cas Server的登出使所有的Cas Client都登出。Cas Server的登出是通过请求“/logout”发生的,即如果你的Cas Server部署的访问路径为“https://localhost:8443/cas”时,通过访问“https://localhost:8443/cas/logout”可以触发Cas Server的登出操作,进而触发Cas Client的登出。在请求Cas Server的logout时,Cas Server会将客户端携带的TGT删除,同时回调该TGT对应的所有service,即所有的Cas Client。Cas Server中对应的TGT失效时默认也会触发同样的操作。Cas Client如果需要响应该回调,进而在Cas Client端进行登出操作的话就需要有对应的支持。具体来说,需要在Cas Client应用的web.xml文件中添加如下Filter和Listener。
<listener>
<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>
<filter>
<filter-name>casSingleSignOutFilter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>casSingleSignOutFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
SingleSignOutFilter需要配置在所有Filter之前,当Cas Client通过Cas Server登录成功,Cas Server会携带生成的Service Ticket回调Cas Client,此时SingleSignOutFilter会将Service Ticket与当前的Session绑定在一起。当Cas Server在进行logout后回调Cas Client应用时也会携带该Service Ticket,此时Cas Client配置的SingleSignOutFilter将会使对应的Session失效,进而达到登出的目的。
SingleSignOutHttpSessionListener用于在Cas Client应用中的Session过期时将其从对应的映射关系中移除。
1.2 Cas Server端禁用单点登出
单点登出功能默认在Cas Server端是启用的。可能因为某种原因用户想禁用它。在Cas Server的WEB-INF/spring-configuration目录下有一个argumentExtractorsConfiguration.xml文件,其中定义了两个ArgumentExtractor类型的bean,一个是针对于Cas协议的,一个是针对于SAMP1.1协议的,但是它们都定义了一个共同的属性disableSingleSignOut,如下所示,该值对应的是一个属性替换变量,默认为false。
<bean
id="casArgumentExtractor"
class="org.jasig.cas.web.support.CasArgumentExtractor"
p:httpClient-ref="noRedirectHttpClient"
p:disableSingleSignOut="${slo.callbacks.disabled:false}" />
<bean id="samlArgumentExtractor" class="org.jasig.cas.web.support.SamlArgumentExtractor"
p:httpClient-ref="noRedirectHttpClient"
p:disableSingleSignOut="${slo.callbacks.disabled:false}" />
在前面的内容中已经介绍过,Cas Server的所有属性替换变量都是定义在WEB-INF/cas.properties文件中的。所以如果需要禁用Cas Server的logout功能,我们可以在cas.properties文件中指定“slo.callbacks.disabled=true”。
(注:本文是基于Cas Server3.5.2和Cas Client3.1.11所写)
(注:原创文章,转载请注明出处。原文地址:http://elim.iteye.com/blog/2144265)
相关推荐
CAS单点登出问题及解决 二 (文章摘自笔者发在自己公司内部论坛的文章:谢绝转载)
cas单点才登出原理cas单点才登出原理
cas客户端集成单点登录代码登录登出cas客户端集成单点登录代码登录登出cas客户端集成单点登录代码登录登出cas客户端集成单点登录代码登录登出cas客户端集成单点登录代码登录登出
用cas实现mantis单点登录和登出,详细讲了mantis的程序修改用cas实现SSO,已经在实际中应用,非常有帮助
cas单点登录登出配置 php 和java 版本。 完美实现了登录和登出, demo cas server 3.5.2 版本 -- 扔到tomcat下直接跑。 java客户端为 3.2.1. -- 要想跑的话需要自己下载jar php 扔到php工程里面直接跑。。 记得看...
cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码
NULL 博文链接:https://zxs19861202.iteye.com/blog/855856
单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-server 单点登录服务端项目cas-...
本篇文章主要介绍了spring boot整合CAS Client实现单点登陆验证的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
集成cas实现单点登录认证.zip
3、 单点登录和单点登出的实现和测试 4、 单点登录、登出的原理探究等 知识点 l 相关概念或术语:SSO、CAS、TGT、TGC、ST l CAS Server服务端的搭建和配置 l CAS Client客户端的搭建和配置 l 单点登录的测试 l 单点...
CAS实现sso单点登录原理,可以方便技术人员理解
CAS单点登录CAS单点登录CAS单点登录CAS单点登录
[置顶] SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析 http://blog.csdn.net/ae6623/article/details/8848107 目 录 1 引言 4 1.1 摘要 4 1.2 范围 4 1.3 读者对象 4 1.4 关键词 4 2 ...
cas 。net单点登录demo cas 。net单点登录demo cas 。net单点登录demo
本文在已有的禅道集成CAS单点登录的客户端插件基础上进行的修改,因原有插件在我们的系统上调试无法成功,做了一些定制,环境如下: 1. CAS server 版本:4.0.0 2. 禅道开源版本: 9.6.3 3. 禅道CAS client 插件版本...
myEclipse下含源码,在struts2下集成cas实现单点登陆的例子,例子虽然简单,基本上反映出cas的工作原理!
cas 单点登录 解决方案.
基于Java中CAS的单点登录,有服务端的所有源码,将tomcat目录下的所有资源直接拷到Tomcat服务中间件的webapp目录下,阅读tomcat-webapp中的read.txt文档,查看使用说明,适用于第一次开发CAS单点登录的同学们,简单...