(转) 让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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值