(转) 让CAS退出后返回指定的页面

标签: cas 页面 | 发表时间:2014-01-15 14:43 | 作者:hae
出处:http://www.iteye.com

参考:

1)  http://my.so-net.net.tw/tzuyichao/misc/forfun.cas.04.html

2)  http://www.iteye.com/topic/1115922

 

------------------------------------------------------------------------------------------------------------------

CAS退出默认是转向CAS内置的退出页面,在实际应用中需要跳转到自己指定的页面。退出转向决定于org.jasig.cas.web.LogoutController,我们看一下原代码。

 

Java代码   收藏代码
  1. protected ModelAndView handleRequestInternal(  
  2.     final HttpServletRequest request, final HttpServletResponse response)  
  3.     throws Exception {  
  4.     final String ticketGrantingTicketId = this.ticketGrantingTicketCookieGenerator.retrieveCookieValue(request);  
  5.     final String service = request.getParameter("service");  
  6.   
  7.     if (ticketGrantingTicketId != null) {  
  8.         this.centralAuthenticationService  
  9.             .destroyTicketGrantingTicket(ticketGrantingTicketId);  
  10.   
  11.         this.ticketGrantingTicketCookieGenerator.removeCookie(response);  
  12.         this.warnCookieGenerator.removeCookie(response);  
  13.     }  
  14.   
  15.     if (this.followServiceRedirects && service != null) {  
  16.         return new ModelAndView(new RedirectView(service));  
  17.     }  
  18.   
  19.     return new ModelAndView(this.logoutView);  
  20. }  

 

 可以看出,当this.followServiceRedirects && service != null时才会跳转到自己指定的view,service应该都比较熟悉了,它是客户传的参数,

指定cas中心转向哪里,但我们仅仅传service 还是不行的,还需要把followServiceRedirects属性设为true,下面看看如何修改这个属性

 

修改cas-servlet.xml配置文件中的logoutController,新增属性p:followServiceRedirects="true",修改后如下:

 

Xml代码   收藏代码
  1. <bean id="logoutController" class="org.jasig.cas.web.LogoutController"  
  2.     p:centralAuthenticationService-ref="centralAuthenticationService"  
  3.     p:logoutView="casLogoutView"  
  4.     p:followServiceRedirects="true"  
  5.     p:warnCookieGenerator-ref="warnCookieGenerator"  
  6.     p:ticketGrantingTicketCookieGenerator-ref="ticketGrantingTicketCookieGenerator" />  

 

 

 

< bean  id = "logoutController"  class = "org.jasig.cas.web.LogoutController"
206      p:centralAuthenticationService-ref = "centralAuthenticationService"
207      p:logoutView = "casLogoutView"
208      p:warnCookieGenerator-ref = "warnCookieGenerator"
209      p:ticketGrantingTicketCookieGenerator-ref = "ticketGrantingTicketCookieGenerator"  >
210          < property  name = "followServiceRedirects"  value = "true"  />
211

</ bean >

 

退出页面如下所示

1 < a  href=" https://localhost:8443/cas/logout?service=http://app:8080/app">Logout</ a >


已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [cas 页面] 推荐:

(转) 让CAS退出后返回指定的页面

- - 互联网 - ITeye博客
CAS退出默认是转向CAS内置的退出页面,在实际应用中需要跳转到自己指定的页面. 退出转向决定于org.jasig.cas.web.LogoutController,我们看一下原代码.  可以看出,当this.followServiceRedirects && service != null时才会跳转到自己指定的view,service应该都比较熟悉了,它是客户传的参数,.

cas配置单点登录

- - 开源软件 - ITeye博客
        最近一段时间研究的cas,不知道是什么原因,可能自己最近太浮躁了,没有沉下心来去研究,所以一直拖着,将近拖了一周半的时间,上周的周总结,确保一定要解决的问题,今天还是横下心来,处理完这个问题,我是一个对于技术痴迷的人,对于现在研究出来这个结果非常高兴,与大家分享一下:.        注明:本文所讲的至少怎么配置,但是具体的原理和细节会在稍后的时间里更新给大家,如有不对的地方希望大家指出来,共同学习和探讨一下.

[原]CAS原理分析

- -
1、悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作. 悲观锁的实现,往往依靠底层提供的锁机制;悲观锁会导致其它所有需要锁的线程挂起,等待持有锁的线程释放锁. 2、乐观锁:假设不会发生并发冲突,每次不加锁而是假设没有冲突而去完成某项操作,只在提交操作时检查是否违反数据完整性. 如果因为冲突失败就重试,直到成功为止.

shiro-cas 单点退出

- - 互联网 - ITeye博客
shiro与CAS集成以后的单点退出. 效果任何一个应用退出以后 所有应用都要重新登录. 实现思路shiro退出系统以后重新定向到cas的退出. 1.重新配置shiro的登出跳转.   shiro退出以后跳转到cas的退出.   cas退出以后通过service参数跳转回应用界面. 2.覆盖shiro的默认退出实现 .

GitHub - casinthecloud/cas-pac4j-oauth-demo: Demo webapps to test CAS/OAuth/OpenID/SAML client support and OAuth server support in CAS version >= 4.0.0

- -

CAS解决单点登录SSO

- - CSDN博客推荐文章
关于CAS很多的原理和基础的配置启动,网上是很多的,我更多是结合我的实践和心得. 需要了解CAS的原理,认证协议,认证流程,可以参考以下文章. 让CAS支持客户端自定义登陆页面——客户端篇. CAS原理与配置-基于CAS的单点登陆的研究(上). 单点登录(SSO)是企业开发的重要问题,在我的毕设项目中,由于要和系统其他开发模块共用用户认证模块,方便共享用户资源,所以需要一个好的SSO解决方案.

CAS和Shiro在spring中集成

- - CSDN博客架构设计推荐文章
shiro是权限管理框架,现在已经会利用它如何控制权限. 为了能够为多个系统提供统一认证入口,又研究了单点登录框架cas. 因为二者都会涉及到对session的管理,所以需要进行集成. Shiro在1.2.0的时候提供了对cas的集成. 因此在项目中添加shiro-cas的依赖. Shiro对cas集成后,cas client的配置更加简单了.

CAS 4.0 单点登录教程

- - ITeye博客
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一. SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 耶鲁大学(yale)开发的单点登录(Single Sign On)系统称为CAS(Central Authentication Service)被设计成一个独立的Web应用程序(cas.war).

CAS实现SSO单点登录原理

- - 非技术 - ITeye博客
CAS实现SSO单点登录原理. CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO ). CAS 开始于 2001 年, 并在 2004 年 12 月正式成为 JA-SIG 的一个项目.

CAS单点登录(SSO)完整教程

- - 互联网 - ITeye博客
CAS单点登录(SSO)完整教程(2012-02-01更新). 教程目的:从头到尾细细道来单点登录服务器及客户端应用的每个步骤. 单点登录(SSO):请看百科解释. 本教程使用的SSO服务器是Yelu大学研发的CAS(Central Authentication Server),. CAS Server版本:cas-server-3.4.3.1、cas-server-3.4.10.