文档章节

CAS单点登出实现案例

Pig-man
 Pig-man
发布于 2016/12/10 09:39
字数 362
阅读 355
收藏 0
点赞 1
评论 0

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

如果直接调用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,跳转到系统登录界面。

 

 

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
Pig-man
粉丝 19
博文 61
码字总数 46911
作品 0
青浦
程序员
cas+shiro+redis实现单点登出

@狂妄天生 你好,想跟你请教个问题:我现在用cas+shiro+redis 做单点登出的时候遇到了,跟你之前一样的问题,由于我的session是放在redis中管理里的,cas单点登出的时候,清除的session只是标...

幸福丶 ⋅ 2017/03/20 ⋅ 3

java的cas单点登录框架的问题

我做开发时碰到了一个问题,cas单点登录在同一个域名不同的应用中可以正常登录,但是不能单点登出。 我这个项目的要求是所有的模块应用的域名端口必须统一,二级域名也要全部一致,这是第一条...

學楽 ⋅ 2017/07/11 ⋅ 3

单点登录 CAS4.0 服务器端配置

CAS 介绍 CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点: 开源的企业级单点登...

deepler ⋅ 2016/07/22 ⋅ 0

Shiro之CAS单点登录-yellowcong

配置单点登录,有点坑的是,我将Session存在了缓存中,导致我每次登录的时候,都不去cas验证中心,我就感觉很无语,后来将sessionManager删除后,就好用了,太坑了,这问题坑了一天多。实现C...

yelllowcong ⋅ 2017/12/21 ⋅ 0

关于cas单点登录的问题

客户端项目配置cas后,访问所有内容都必须在登录的前提下,如果想不登陆也能访问,只在用户点击登陆或者访问某些特殊内容才跳转到登录该怎么做 cas-server-3.5.2.1 和 cas-client-3.2.1 客户...

白小衣 ⋅ 2014/08/23 ⋅ 2

CAS实现单点登录

CAS介绍 开源的企业级单点登录解决方案 CAS Server 是需要独立部署的 Web 应用 CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache,...

小咔蹭 ⋅ 2013/12/05 ⋅ 25

CAS注销后自定义跳转路径

CAS单点退出后,会直接链接到服务器的logout页面,要使系统退出后能返回原来的项目,需要做一些修改。 第一步、服务端cas-servlet.xml配置 <bean id="logoutController" class="org.jasig.c...

很好亦平凡ms ⋅ 2016/07/08 ⋅ 0

GitLab之CAS5.2 单点登出的问题-yellowcong

gitlab默认登出后,只是退出了,但是没有完全推出cas的系统,所以我们需要清空单点的session,后来我发现可以设定After sign-out path为sso的登出地址,这样即可解决退出sso了。 配置After s...

yelllowcong ⋅ 04/22 ⋅ 0

cas单点登出 回调客户端,源码在哪里?没找到

cas-server-3.5.2.1 cas-client-3.3.3 单点登出 访问cas服务端logout登出,服务端回调所有客户端app销毁session的源代码在哪里?没找到啊 我有源码包,就是不知道是哪个类?...

jack_jones ⋅ 2014/12/04 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

ARMS: 原来实时计算可以这么简单!

摘要: 业务实时监控服务( ARMS)是一款阿里云应用性能管理(APM)类监控产品。借助本产品,您可以基于前端、应用、业务自定义等服务,迅速便捷地为企业构建秒级响应的业务监控能力。 业务实...

阿里云云栖社区 ⋅ 5分钟前 ⋅ 0

Monkey入门_琉璃

先下载android sdk安装配置好路径,然后adb shell 如果给你显示这个,说明目前没有有效的移动设备链接,可以开个安卓模拟器或者使用真机,usb或wifi链接到电脑都可以,打开usb调试模式;然后...

EvanDev ⋅ 6分钟前 ⋅ 0

Idea类注释模板

一、设置类注释模板 1.选择File–>Settings–>Editor–>File and Code Templates–>Includes–>File Header. 2.设置完成后,创建类时自动生成注释,效果如下。...

Clarence_D ⋅ 8分钟前 ⋅ 0

vuejs题

1、active-class是哪个组件的属性?嵌套路由怎么定义? 答:vue-router模块的router-link组件。 2、怎么定义vue-router的动态路由?怎么获取传过来的动态参数? 答:在router目录下的index.j...

自由小鸟 ⋅ 8分钟前 ⋅ 0

2018年社交系统ThinkSNS年中大促

致各大商企事业单位及粉丝用户: 为感谢大家对ThinkSNS品牌的关注与支持,2018年6月18日官方诚推出:年中大促,限时抢购活动! “ThinkSNS 年中大促,¥6.18超值特惠 名额有限,预购从速! ...

ThinkSNS账号 ⋅ 14分钟前 ⋅ 0

MYSQL主从复制搭建及切换操作(GTID与传统)

如下: MYSQL主从复制方式有默认的复制方式异步复制,5.5版本之后半同步复制,5.6版本之后新增GTID复制,包括5.7版本的多源复制。 MYSQL版本:5.7.20 操作系统版本:linux 6.7 64bit 1、异步...

rootliu ⋅ 14分钟前 ⋅ 0

Java强软弱虚引用Reference

Java强软弱虚引用Reference 本文目的:深入理解Reference 本文定位:学习笔记 学习过程记录,加深理解,提升文字组合表达能力。也希望能给学习Reference的同学一些灵感 源码说明 源码基于jdk...

lichuangnk ⋅ 17分钟前 ⋅ 0

plsql 表中字段及注释时为乱码

在windows中创 建一个名为“NLS_LANG”的系统环境变量,设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”, 然后重新启动 pl/sql developer,这样检索出来的中文内容就不会是乱码了。如...

江戸川 ⋅ 19分钟前 ⋅ 0

Docker创建JIRA 7.2.7中文破解版

1、介绍 1.1、什么是JIRA?   关于JIRA网上的介绍有很多,以下摘自百度百科:   JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任...

谢思华 ⋅ 23分钟前 ⋅ 0

Java Class 类使用

Java Class 类使用 我们可以通过已知的包名来获取到 Class 对象,从而可以通过反射动态的来操作对象。 获取Class有三种方式 //通过对象.class直接获取Class integerClass = Integer.class;...

gaob2001 ⋅ 28分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部