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

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,下面看看如何修改这个属性

 

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

 

Xml代码  收藏代码
<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" />
  客户端应用为:

 

<a href="./sso/logout.jsp?service=http://localhost:8081/casclient4/sso/index.jsp">退出</a><br><br>

 

logout.jsp 的内容是:

<%
String query = request.getQueryString();
request.getSession().invalidate();
response.sendRedirect("http://localhost:8081/casserver/logout?"+query);

%>
分享到:
评论
1 楼 yang190637133 2013-02-28  
  顶顶顶  看看结果是什么

相关推荐

    cas 系统实例 服务端配置(一)

    标题 "cas 系统实例 服务端配置(一)" 提到的是 CAS(Central Authentication Service)系统的一个服务端配置教程。CAS 是一个开源的身份验证框架,主要用于实现单一登录(Single Sign-On, SSO)。在本教程中,我们...

    第七节:CAS4.0.0 以上服务端配置多个数据源

    在CAS 4.0.0中,服务端配置多个数据源可以使CAS能够管理多个数据库的认证和授权信息。 首先,我们需要理解数据源(DataSource)的概念。在Java应用中,数据源是连接数据库的桥梁,它负责管理数据库连接,提供连接池...

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

    本压缩包提供了CAS服务端自定义认证的实现,以及CAS客户端的配置示例,适用于需要构建安全认证系统的IT专业人员。以下是对压缩包中内容的详细解释: 1. **CAS服务器端自定义认证**: CAS服务端的核心功能在于验证...

    CAS4.1.4服务端和客户端实例

    CAS4.1.4是CAS的一个特定版本,该版本包含了服务端和客户端的实现,使得用户只需一次登录就可以访问多个相互信任的应用系统。 在CAS4.1.4中,服务端是核心组件,负责验证用户的凭证(如用户名和密码),并为客户端...

    cas服务端完整构建

    配置CAS服务端有两种常见的方式:一种是在Tomcat中直接部署;另一种是在MyEclipse中创建CAS服务端项目。接下来将分别介绍这两种方式的具体步骤。 ##### 2.1 直接在Tomcat中部署服务端 1. **下载并部署CAS服务端** ...

    CAS服务端和客户端war包.rar

    - 客户端应用配置:每个客户端应用需要在配置文件中指定CAS服务器地址和应用的服务URL,以便在用户访问时触发SSO流程。 5. **单点登出(Single Sign-Out, SSO)** CAS还支持单点登出功能,即用户在一个应用中登出...

    cas 普通方式和SpringBoot方式客户端 普通方式服务端

    在本文中,我们将探讨如何在普通方式和Spring Boot方式下配置和使用CAS客户端和服务端。 首先,让我们了解一下`CMD生成证书命令.txt`。在CAS部署中,安全通信通常依赖于SSL/TLS证书,用于加密传输数据。这个文件...

    cas单点登录服务端

    CAS(Central Authentication ...总的来说,CAS单点登录服务端的部署涉及了Web应用的部署、应用服务器的管理、服务定义配置、用户认证集成以及安全性考量等多个方面,是构建安全、便捷的多应用系统环境的关键组件。

    CAS服务端文件下载

    在本项目中,我们关注的是CAS服务端的文件下载部分,这意味着我们将探讨如何设置和配置CAS服务器,以便用户可以通过它安全地下载文件。 首先,CAS服务端的构建使用了Maven,这是一个广泛使用的Java项目管理和集成...

    cas4.1.4server服务端+client端

    客户端配置文件(如`cas.properties`)会指定服务器地址和其他相关设置。 - `client`目录可能包含示例代码或者配置模板,帮助开发者快速理解和集成CAS客户端。 3. 单点登录原理: - 当用户首次尝试访问受保护的...

    cas4.2.7服务端和客户端应用

    **CAS (Central Authentication Service) 知识点详解** CAS 是一个开源的身份验证框架,它允许用户...理解 CAS 的工作原理和配置方法,能够帮助开发者构建安全的SSO系统,同时利用 CAS 的扩展性与多种服务进行集成。

    cas服务端-连接数据库版

    CAS(Central Authentication Service)服务端连接数据库版是一个用于集中身份验证的安全框架,它允许用户通过一个单一登录(Single Sign-On, SSO)过程访问多个应用系统。在这个版本中,CAS服务器与MySQL数据库相...

    cas服务端和客户端可用代码

    1. **认证流程**:用户访问受保护的应用时,会被重定向到CAS服务端进行身份验证。成功后,服务端会返回一个票据(ticket-granting ticket, TGT),该票据被加密存储在用户的浏览器会话中。 2. **服务注册**:应用...

    cas整合实例

    CAS(Central Authentication Service)是一...总的来说,CAS整合涉及到客户端和服务器端的配置,以及对用户认证流程的理解和定制。通过这个实例,你应该能够掌握如何将CAS集成到你的应用中,从而实现统一的身份验证。

    cas4.2.7服务端+cas客户端+示例程序+环境搭建之服务端war包

    cas4.2.7服务端+cas客户端+示例程序+环境搭建之服务端war包 请看博客:http://blog.csdn.net/pucao_cug/article/details/70182968 该war文件是cas4.2.7的服务端的war包。服务端 的war内我已经对WEB-INF文件夹中的web...

    cas-server服务端maven项目

    这是已经调整过的cas服务端,maven项目 已完成内容 登录页面已做调整 验证码功能 记住我功能 多数据源支持(根据传入参数client确定用哪个数据源和sql语句) 运行该项目 先建立sys_account表,直接导入sys_...

    cas-server-服务端源码.zip

    `cas-server-服务端源码.zip`提供的正是CAS服务端的源代码,特别是老版本4.2.27。 CAS的核心工作流程如下: 1. **认证过程**:当用户尝试访问受CAS保护的应用时,会被重定向到CAS服务器进行身份验证。如果用户尚未...

    落雨博客基于CAS框架的单点登录技术讲解(ppt+code实例+doc)配套资料

    内含本人实例精华,一个自做PPT,动画解析cas协议,四个客户端client程序实例,一个server端程序,N个文档以及所有xml文件。配套讲解博客地址: [置顶] SSO单点登录系列3:cas-server端配置认证方式实践(数据源+...

    cas服务端应用

    CAS(Central Authentication Service)是基于Java的开源身份验证框架,主要功能是实现单...总的来说,CAS服务端应用是构建单点登录系统的基石,通过合理的配置和使用,可以极大地提升用户体验,同时强化系统的安全性。

Global site tag (gtag.js) - Google Analytics