CAS logout的时候,默认是会重定向到cas server端的logout页面。
现在的需求是重定向到登录页面。
在应用中, 我还遇到直接ogout(只做清空session, cookie), 而不去重定向到cas 的logout页面,这种情况下:
如果不关闭浏览器, 直接再次输入Application的URL, 会绕过CAS认证,照常登入。
吃问题困扰了几天,看了一下CASserver端的代码,恍然大悟:
LogoutController有一个开关变量:
- private boolean followServiceRedirects;
并有一段逻辑:
- if (this.followServiceRedirects && service != null) {
- return new ModelAndView(new RedirectView(service));
- }
service是个啥:
- final String service = request.getParameter("service");
如果在logout的url后面加上你要重定向的那个页面, 就可以自定义登出页面了:
所以,我的方案就出来了:
在cas-servlet.xml中,设置logoutController的followServiceRedirects=true
- <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:followServiceRedirects="true"/>
application在登出的时候,除了清空session和cookie外, 重定向的url加上:
- var apphostname = window.location.hostname
- var appport = window.location.port;
- var callbackurl='?service=http%3A%2F%2F'+apphostname +'%3A'+appport + '%2Fapplication'
- window.location = logoutUrl+ callbackurl;
相关推荐
在这个“cas4.0.7+casClient示例(原生)”中,我们将深入探讨如何配置和使用CAS 4.0.7版本与原生的CAS客户端进行集成,以及如何结合数据库实现完整的前后端解决方案。 **1. CAS 4.0.7简介** CAS 4.0.7是CAS服务器...
总之,CAS单点登录系统为多应用环境提供了一种高效的身份验证解决方案。通过Java和PHP客户端的集成,可以在多种技术栈的项目中实现一致的用户体验,同时也简化了用户管理和权限控制。在实际应用中,应根据项目需求...
CAS是一个企业级的单点登录解决方案,允许用户仅登录一次,即可访问多个应用系统。以下详细知识点的介绍基于给定文件的信息: 知识点一:CAS单点登录的基本概念 CAS允许用户登录一次后访问多个应用系统,避免重复...
综上所述,CAS协议3.0通过其定义的各种URIs和实体,提供了一个全面的单点登录解决方案。它简化了用户登录流程,增强了用户和系统的安全认证,并且具有良好的扩展性,可适应不同的身份认证需求。开发者可以根据具体的...
**Cas入门及SpringSecurity集成CasDemo详解** CAS(Central Authentication Service)是一种开源的单点登录...对于大型企业级应用,这种SSO解决方案能够有效地简化用户认证流程,提高用户体验,同时确保系统安全。
CAS(Central Authentication Service)是一种基于Web的单一登录(Single Sign-On, SSO)协议,它允许用户通过一个统一的身份验证入口点登录,然后在多个应用系统之间共享该身份验证信息,无需再次登录。"cas改改...
Spring Security是Spring框架的一个模块,主要用于应用安全控制,而CAS则是一个开源的身份验证系统,可以提供跨多个应用的单一登录功能。 首先,理解SSO的概念至关重要。SSO允许用户在一次登录后访问多个相互信任的...
CAS(Central Authentication Service)是一个开源的SSO解决方案,由耶鲁大学开发并维护。它允许用户通过一个中央身份验证服务器对多个应用进行认证,从而简化登录过程,提高用户体验,并加强了系统安全性。 **2. ...
通过以上步骤,你可以在 Laravel 框架下构建一个功能完备的 CAS 服务器,为你的应用提供高效、安全的单点登录解决方案。在实际开发过程中,你可能还需要根据具体需求对 CAS 服务器进行定制和扩展,例如添加多语言...
CAS协议通过引入票证机制,实现了高效且安全的单点登录解决方案。它不仅简化了用户在多个服务间的认证过程,还提供了代理身份验证的功能,增强了跨服务的集成能力。对于企业级应用和服务平台而言,CAS协议是实现SOA...
此外,CAS 还支持 Proxy 模式,允许一个 CASClient 代表另一个 CASClient 或用户执行操作,进一步拓展了 CAS 的应用场景。 #### 二、CASServer 安装部署 ##### 2.1 准备工作 在部署 CASServer 之前,需要准备以下...
CAS 是一个开源的身份验证系统,广泛用于构建跨域和多应用的 SSO 解决方案。 集成 Shiro 和 CAS 可以帮助开发者轻松地在多个应用间共享用户身份信息,用户只需要登录一次就可以访问所有相互信任的应用,提高了用户...
总之,集成CAS和Spring Security可以为大型企业或组织提供便捷、安全的单点登录解决方案。在实际应用中,开发者需要对两者的配置、交互流程以及安全策略有深入理解,才能确保系统的稳定性和安全性。
JA-SIG CAS(Central Authentication Service)是Java社区开发的一个开源项目,专门用于实现这种功能。CAS的目标是简化Web应用程序的安全管理,提供一个集中式的认证服务,从而减轻各个应用系统维护独立身份验证的...
总结来说,Apache Shiro和CAS的结合使用为Java Web应用提供了一种强大、灵活的安全解决方案。Shiro处理应用内部的授权,而CAS则负责跨应用的统一认证,两者协同工作,可以构建出高效且安全的多应用环境。通过学习和...
【CAS客户端开发说明】这篇文档是关于如何进行CAS...总的来说,这个指南详细阐述了建立CAS客户端开发环境、配置、测试以及开发中的关键步骤,为开发者提供了一个清晰的流程,帮助他们理解和实现基于CAS的SSO解决方案。
CAS(Central Authentication Service)是Java开发的一个开源身份验证框架,主要功能是为各种应用程序提供单一登录(Single Sign-On,简称SSO)服务。在CAS 4.1.x版本中,这个框架进行了许多改进和增强,旨在提高...
用户在登录后,CAS 服务器将生成一个ticket,该ticket 将被传递给相关系统或应用程序,以便验证用户的身份。 2. JAVA 语言 JAVA 是一种广泛使用的编程语言,具有强大的功能和灵活性。在 JAVA 中,可以使用 CAS ...
单点登录(Single Sign-On...在Java环境下,Spring Security框架提供了一套完善的解决方案,包括配置CAS服务器、编写认证处理器、设置URL过滤器等步骤。通过学习和实践,开发者可以轻松地将SSO集成到自己的Java应用中。