CAS退出默认是转向CAS内置的退出页面,在实际应用中需要跳转到自己指定的页面。退出转向决定于org.jasig.cas.web.LogoutController,我们看一下源代码。
protected ModelAndView handleRequestInternal( final HttpServletRequest request, final HttpServletResponse response) throws Exception { final String ticketGrantingTicketId = this.ticketGrantingTicketCookieGenerator.retrieveCookieValue(request); final String service = request.getParameter("service"); if (ticketGrantingTicketId != null) { this.centralAuthenticationService .destroyTicketGrantingTicket(ticketGrantingTicketId); this.ticketGrantingTicketCookieGenerator.removeCookie(response); this.warnCookieGenerator.removeCookie(response); } if (this.followServiceRedirects && service != null) { return new ModelAndView(new RedirectView(service)); } return new ModelAndView(this.logoutView); }
可以看出,当this.followServiceRedirects && service != null时才会跳转到自己指定的view,service应该都比较熟悉了,它是客户传的参数,
指定cas中心转向哪里,但我们仅仅传service 还是不行的,还需要把followServiceRedirects属性设为true,下面看看如何修改这个属性
<bean id="logoutController" class="org.jasig.cas.web.LogoutController" p:centralAuthenticationService-ref="centralAuthenticationService" p:logoutView="casLogoutView" p:followServiceRedirects="true" p:warnCookieGenerator-ref="warnCookieGenerator" p:ticketGrantingTicketCookieGenerator-ref="ticketGrantingTicketCookieGenerator" />
修改cas-servlet.xml配置文件中的logoutController,新增属性p: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" > <property name="followServiceRedirects" value="true" /> </bean>
退出页面如下所示
<a href="https://localhost:8443/cas/logout?service=http://app:8080/app">Logout</a>
参考:
1) http://my.so-net.net.tw/tzuyichao/misc/forfun.cas.04.html
2) http://www.iteye.com/topic/1115922
相关推荐
2. 配置CAS服务器:在CAS服务器的配置文件中,我们需要指定新的登录页面URL,让CAS服务器知道在哪里获取登录请求。 3. 处理登录验证:自定义登录页面需要将用户输入的凭证发送到CAS服务器进行验证,通常通过POST...
主题配置在`cas-theme-config.xml`或`application.yml`中,你可以定义新的主题并指定哪个页面使用哪个主题。 6. **安全配置**:确保修改后的登录页面符合安全性要求,例如,避免XSS(跨站脚本攻击)和CSRF(跨站...
### 让CAS支持客户端自定义登录页面——服务器篇 #### 概述 本文档主要介绍如何在CAS(Central Authentication Service)系统中实现客户端自定义登录页面的功能,并且着重讲解服务器端的修改步骤与注意事项。CAS...
首先,让我们深入了解一下CAS的基本工作流程: 1. **CAS服务器初始化**:CAS服务器是核心组件,负责用户的身份验证。在部署时,将`cas-server-3.5.2`解压缩并将其内容放在Tomcat服务器的`webapps`目录下,这会启动...
标题中的“让CAS支持客户端自定义登陆页面——客户端篇”表明了本文主要探讨的是如何在中央认证服务(Central Authentication Service, CAS)系统中,允许客户端应用程序实现自定义登录页面的配置与实现。CAS是一个...
本文将详细介绍如何通过服务器端的配置,实现让CAS(Central Authentication Service,中央认证服务)支持客户端自定义登录页面的过程。这一过程不仅可以提升用户体验,还能够满足特定场景下的定制化需求。 ### ...
2. **CAS配置**:修改登录页通常涉及修改CAS服务器的配置,可能需要在`cas-server-config.xml`等配置文件中调整视图相关的设置,以指向自定义的登录页面。 3. **Web应用程序开发**:你需要具备基本的Web开发技能,...
CAS单点登录,退出后ticket失效报出异常解决办法——换jar包 把客户端的 casclient.jar 包换成我的这个。
CAS是一个开源的身份验证协议,允许用户在一个域内登录后,无需再次认证就能访问其他系统。这样可以提升用户体验,同时简化安全管理。在Spring Boot应用中集成CAS,需要配置CAS客户端,处理CAS服务返回的令牌,完成...
VMware和华三(H3C)CAS(CLOUD_ARCHITECTURE_SYSTEM)是两个流行的虚拟化平台,分别提供了丰富的功能和服务。本文将详细阐述如何将一个在VMware平台上运行的虚拟机转换为能在华三CAS上运行的虚拟机。 首先,迁移过程...
在完成认证后,CAS服务器可能会返回一些自定义信息给客户端,例如用户角色、权限等。这部分可能涉及如何配置`TicketGrantingTicketImpl`或`ProxyGrantingTicketImpl`来包含额外的属性,并在客户端解析这些信息。 ...
### 让CAS支持客户端自定义登录页面——服务器端配置详解 #### 一、背景与目的 随着企业级应用系统的不断扩展和发展,身份认证系统(如CAS)的安全性和灵活性变得尤为重要。CAS(Central Authentication Service)...
5. **测试与部署**:完成上述配置后,需要对每个应用进行详尽的测试,确保用户被正确地导向到对应的应用登录页面,并且登录后能够正常访问各个应用。 在实际操作中,可能还需要考虑其他因素,如语言本地化、自定义...
本文将深入探讨如何利用Spring Boot、CAS 5.3、Shiro、Pac4J这四个强大的工具来构建一个高效且用户友好的REST接口,以获取CAS(Central Authentication Service)票据,避免用户被重定向到CAS服务器的登录页面。...
用户首次尝试访问受保护资源时,会被重定向到CAS服务器进行认证,认证成功后返回一个服务票据(Service Ticket),用户携带此票据请求资源,服务端再与CAS服务器通信验证票据。 3. **架构组件**:CAS系统主要包括...
这通常涉及向CAS服务器发送请求,获取认证URL(即CAS登录页),并在用户登录成功后,处理CAS返回的服务票证。 4. iframe技术:使用HTML的iframe元素,将CAS的登录页面嵌入到你的应用中,使得用户可以在不离开当前...
3. **集成CAS客户端库**:在外部系统中,需要集成CAS客户端库,如Java CAS Client、Spring Security CAS等,它们负责处理与CAS服务器的交互,包括重定向用户到CAS登录页面、接收和验证服务票证。 4. **配置客户端...
让CAS支持客户端自定义登陆页面----服务器篇--.doc
### VMware虚拟机与CAS虚拟机互转操作步骤详解 #### 一、概述 在现代数据中心环境中,虚拟化技术被广泛应用于提高硬件资源利用率、简化管理流程以及增强业务灵活性。VMware和CAS(Citrix Hypervisor)是两种常用的...
CAS单点登录,退出后ticket失效报出异常解决办法——换jar包 把客户端的 casclient.jar 包换成我的这个。