`

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

    博客分类:
  • cas
阅读更多

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

分享到:
评论

相关推荐

    cas 自定义登录页面

    2. 配置CAS服务器:在CAS服务器的配置文件中,我们需要指定新的登录页面URL,让CAS服务器知道在哪里获取登录请求。 3. 处理登录验证:自定义登录页面需要将用户输入的凭证发送到CAS服务器进行验证,通常通过POST...

    cas源码修改-登录页面

    主题配置在`cas-theme-config.xml`或`application.yml`中,你可以定义新的主题并指定哪个页面使用哪个主题。 6. **安全配置**:确保修改后的登录页面符合安全性要求,例如,避免XSS(跨站脚本攻击)和CSRF(跨站...

    让CAS支持客户端自定义登陆页面——服务器篇.docx

    ### 让CAS支持客户端自定义登录页面——服务器篇 #### 概述 本文档主要介绍如何在CAS(Central Authentication Service)系统中实现客户端自定义登录页面的功能,并且着重讲解服务器端的修改步骤与注意事项。CAS...

    cas自定义登录页面

    首先,让我们深入了解一下CAS的基本工作流程: 1. **CAS服务器初始化**:CAS服务器是核心组件,负责用户的身份验证。在部署时,将`cas-server-3.5.2`解压缩并将其内容放在Tomcat服务器的`webapps`目录下,这会启动...

    让CAS支持客户端自定义登陆页面——客户端篇

    标题中的“让CAS支持客户端自定义登陆页面——客户端篇”表明了本文主要探讨的是如何在中央认证服务(Central Authentication Service, CAS)系统中,允许客户端应用程序实现自定义登录页面的配置与实现。CAS是一个...

    让CAS支持客户端自定义登陆页面——服务器篇[参考].pdf

    本文将详细介绍如何通过服务器端的配置,实现让CAS(Central Authentication Service,中央认证服务)支持客户端自定义登录页面的过程。这一过程不仅可以提升用户体验,还能够满足特定场景下的定制化需求。 ### ...

    cas修改登录页

    2. **CAS配置**:修改登录页通常涉及修改CAS服务器的配置,可能需要在`cas-server-config.xml`等配置文件中调整视图相关的设置,以指向自定义的登录页面。 3. **Web应用程序开发**:你需要具备基本的Web开发技能,...

    CAS单点登录,退出后ticket失效报出异常解决办法—换jar包

    CAS单点登录,退出后ticket失效报出异常解决办法——换jar包 把客户端的 casclient.jar 包换成我的这个。

    前后端分离集成cas

    CAS是一个开源的身份验证协议,允许用户在一个域内登录后,无需再次认证就能访问其他系统。这样可以提升用户体验,同时简化安全管理。在Spring Boot应用中集成CAS,需要配置CAS客户端,处理CAS服务返回的令牌,完成...

    VMware虚拟机转换华三CAS虚拟机配置方法

    VMware和华三(H3C)CAS(CLOUD_ARCHITECTURE_SYSTEM)是两个流行的虚拟化平台,分别提供了丰富的功能和服务。本文将详细阐述如何将一个在VMware平台上运行的虚拟机转换为能在华三CAS上运行的虚拟机。 首先,迁移过程...

    CAS单点登录(SSO)服务端自定义认证+CAS客户端配置+CAS完整使用文档+CAS4.2.7 cas-serv服务端源码 cas-client客户端源码

    在完成认证后,CAS服务器可能会返回一些自定义信息给客户端,例如用户角色、权限等。这部分可能涉及如何配置`TicketGrantingTicketImpl`或`ProxyGrantingTicketImpl`来包含额外的属性,并在客户端解析这些信息。 ...

    让CAS支持客户端自定义登陆页面----服务器篇--.doc

    ### 让CAS支持客户端自定义登录页面——服务器端配置详解 #### 一、背景与目的 随着企业级应用系统的不断扩展和发展,身份认证系统(如CAS)的安全性和灵活性变得尤为重要。CAS(Central Authentication Service)...

    CAS实现不同应用展示不同的登录页

    5. **测试与部署**:完成上述配置后,需要对每个应用进行详尽的测试,确保用户被正确地导向到对应的应用登录页面,并且登录后能够正常访问各个应用。 在实际操作中,可能还需要考虑其他因素,如语言本地化、自定义...

    基于springboot,cas5.3,shiro,pac4j,rest接口获取ticket不再跳转cas server登录页

    本文将深入探讨如何利用Spring Boot、CAS 5.3、Shiro、Pac4J这四个强大的工具来构建一个高效且用户友好的REST接口,以获取CAS(Central Authentication Service)票据,避免用户被重定向到CAS服务器的登录页面。...

    CAS介绍资源页面

    用户首次尝试访问受保护资源时,会被重定向到CAS服务器进行认证,认证成功后返回一个服务票据(Service Ticket),用户携带此票据请求资源,服务端再与CAS服务器通信验证票据。 3. **架构组件**:CAS系统主要包括...

    自定义客户端登录CAS服务器-iframe实现

    这通常涉及向CAS服务器发送请求,获取认证URL(即CAS登录页),并在用户登录成功后,处理CAS返回的服务票证。 4. iframe技术:使用HTML的iframe元素,将CAS的登录页面嵌入到你的应用中,使得用户可以在不离开当前...

    cas4.2.7 实现其他系统和cas互相认证互信

    3. **集成CAS客户端库**:在外部系统中,需要集成CAS客户端库,如Java CAS Client、Spring Security CAS等,它们负责处理与CAS服务器的交互,包括重定向用户到CAS登录页面、接收和验证服务票证。 4. **配置客户端...

    让CAS支持客户端自定义登陆页面----服务器篇--.doc编程资料

    让CAS支持客户端自定义登陆页面----服务器篇--.doc

    VMware虚拟机与CAS虚拟机互转操作步骤

    ### VMware虚拟机与CAS虚拟机互转操作步骤详解 #### 一、概述 在现代数据中心环境中,虚拟化技术被广泛应用于提高硬件资源利用率、简化管理流程以及增强业务灵活性。VMware和CAS(Citrix Hypervisor)是两种常用的...

    CAS单点登录,退出后ticket失效报出异常解决办法——换jar包

    CAS单点登录,退出后ticket失效报出异常解决办法——换jar包 把客户端的 casclient.jar 包换成我的这个。

Global site tag (gtag.js) - Google Analytics