`
baalwolf
  • 浏览: 353775 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CAS logout 解决方案

阅读更多

CAS logout的时候,默认是会重定向到cas server端的logout页面。

现在的需求是重定向到登录页面。

在应用中, 我还遇到直接ogout(只做清空session, cookie), 而不去重定向到cas 的logout页面,这种情况下:

如果不关闭浏览器, 直接再次输入Application的URL, 会绕过CAS认证,照常登入。

 

 

吃问题困扰了几天,看了一下CASserver端的代码,恍然大悟:

LogoutController有一个开关变量:

 

Java代码
  1. private boolean followServiceRedirects;  

 

 

并有一段逻辑:

 

Java代码
  1. if (this.followServiceRedirects && service != null) {  
  2.     return new ModelAndView(new RedirectView(service));  
  3. }  

 

service是个啥:

 

Java代码
  1. final String service = request.getParameter("service");  

 

 

如果在logout的url后面加上你要重定向的那个页面, 就可以自定义登出页面了:

所以,我的方案就出来了:

 

在cas-servlet.xml中,设置logoutController的followServiceRedirects=true

 

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

application在登出的时候,除了清空session和cookie外, 重定向的url加上:

 

Java代码
  1. var apphostname = window.location.hostname  
  2. var appport = window.location.port;  
  3.   
  4. var callbackurl='?service=http%3A%2F%2F'+apphostname +'%3A'+appport + '%2Fapplication'  
Java代码
  1. window.location = logoutUrl+ callbackurl;  
分享到:
评论

相关推荐

    详解Django CAS 解决方案

    Django CAS解决方案主要用来实现Django框架下的CAS(Central Authentication Service)单点登录(SSO)功能。CAS是一个企业级的单点登录解决方案,允许用户仅登录一次,即可访问多个应用系统。以下详细知识点的介绍...

    cas4.0.7+casClient示例(原生)

    在这个“cas4.0.7+casClient示例(原生)”中,我们将深入探讨如何配置和使用CAS 4.0.7版本与原生的CAS客户端进行集成,以及如何结合数据库实现完整的前后端解决方案。 **1. CAS 4.0.7简介** CAS 4.0.7是CAS服务器...

    cas实现单点登录,登出(java和php客户端)

    总之,CAS单点登录系统为多应用环境提供了一种高效的身份验证解决方案。通过Java和PHP客户端的集成,可以在多种技术栈的项目中实现一致的用户体验,同时也简化了用户管理和权限控制。在实际应用中,应根据项目需求...

    CAS 协议3.0

    综上所述,CAS协议3.0通过其定义的各种URIs和实体,提供了一个全面的单点登录解决方案。它简化了用户登录流程,增强了用户和系统的安全认证,并且具有良好的扩展性,可适应不同的身份认证需求。开发者可以根据具体的...

    Cas入门demo以及SpringSecurity集成CasDemo

    **Cas入门及SpringSecurity集成CasDemo详解** CAS(Central Authentication Service)是一种开源的单点登录...对于大型企业级应用,这种SSO解决方案能够有效地简化用户认证流程,提高用户体验,同时确保系统安全。

    cas改改可以用了

    CAS(Central Authentication Service)是一种基于Web的单一登录(Single Sign-On, SSO)协议,它允许用户通过一个统一的身份验证...如果遇到问题,不要犹豫寻求作者的帮助,他们可能会提供针对特定环境的解决方案。

    Spring Security 3 与 CAS单点登录配置-Server

    标题中的"Spring Security 3 与 CAS 单点登录配置-Server"涉及到的是在Java Web开发中使用Spring Security 3框架集成Central ...理解并实践这些步骤,将有助于你在实际项目中实现安全、高效的SSO解决方案。

    比较详细的中文cas协议介绍

    CAS协议通过引入票证机制,实现了高效且安全的单点登录解决方案。它不仅简化了用户在多个服务间的认证过程,还提供了代理身份验证的功能,增强了跨服务的集成能力。对于企业级应用和服务平台而言,CAS协议是实现SOA...

    Laravel开发-cas-server .zip

    通过以上步骤,你可以在 Laravel 框架下构建一个功能完备的 CAS 服务器,为你的应用提供高效、安全的单点登录解决方案。在实际开发过程中,你可能还需要根据具体需求对 CAS 服务器进行定制和扩展,例如添加多语言...

    Laravel开发-cas

    CAS(Central Authentication Service)是一个开源的SSO解决方案,由耶鲁大学开发并维护。它允许用户通过一个中央身份验证服务器对多个应用进行认证,从而简化登录过程,提高用户体验,并加强了系统安全性。 **2. ...

    cas 和spring security 单点登录 配置

    总之,集成CAS和Spring Security可以为大型企业或组织提供便捷、安全的单点登录解决方案。在实际应用中,开发者需要对两者的配置、交互流程以及安全策略有深入理解,才能确保系统的稳定性和安全性。

    springsecurity整合cas全程

    单点登录(Single Sign-On,简称 SSO)是一种流行的解决方案,用于简化用户在多个相互信任的应用系统之间的身份验证过程。通过实现SSO,用户只需在一个地方完成登录即可访问所有相关联的应用系统,而无需重复输入...

    CAS客户端开发说明1

    【CAS客户端开发说明】这篇文档是关于如何进行CAS...总的来说,这个指南详细阐述了建立CAS客户端开发环境、配置、测试以及开发中的关键步骤,为开发者提供了一个清晰的流程,帮助他们理解和实现基于CAS的SSO解决方案。

    shrio Cas 集成

    CAS 是一个开源的身份验证系统,广泛用于构建跨域和多应用的 SSO 解决方案。 集成 Shiro 和 CAS 可以帮助开发者轻松地在多个应用间共享用户身份信息,用户只需要登录一次就可以访问所有相互信任的应用,提高了用户...

    CAS+Shiro实现认证授权

    总结来说,Apache Shiro和CAS的结合使用为Java Web应用提供了一种强大、灵活的安全解决方案。Shiro处理应用内部的授权,而CAS则负责跨应用的统一认证,两者协同工作,可以构建出高效且安全的多应用环境。通过学习和...

    Java单点登录系统 JA-SIG CAS

    Java单点登录系统(Single Sign-On,简称SSO)是一种身份验证机制,允许用户在一次登录后访问多个相互...同时,这些资料也可能涵盖了一些实际案例和常见问题的解决方案,帮助你在实际操作中避免陷阱,提高开发效率。

    cas4.1.x集成.zip

    总的来说,CAS 4.1.x在保持其核心SSO功能的同时,对安全、性能、扩展性等多个方面进行了优化,为开发者提供了更加灵活和强大的身份验证解决方案。集成CAS到现有系统中,能够显著提升系统的安全性,并为用户提供一致...

    单点登录(SSO)和中心认证服务(CAS)

    ### 单点登录(SSO)与中心认证服务(CAS) #### 一、单点登录(SSO)概述 ...CAS作为一种成熟的单点登录解决方案,已经被广泛应用于各种场景中,尤其是在大型企业和组织内部的信息系统中发挥着重要作用。

    单点登陆实现(完全跨域、单点退出)

    单点登录(Single Sign-On,简称SSO)是一种在多个应用系统中,用户只...总之,这个单点登录例子结合了多种技术和工具,构建了一个高效且安全的SSO解决方案,为用户提供一致且便捷的登录体验,同时保证了系统的安全性。

    统一身份认证平台集成接口文档.doc

    统一身份认证平台是指通过一种身份验证机制,使用户只需要一次登录即可访问多个相关系统或应用程序的解决方案。这种机制可以提高用户体验,减少身份验证的次数,提高系统的安全性。 在本文档中,我们将介绍统一身份...

Global site tag (gtag.js) - Google Analytics