读书人

让CAS退出后回到指定的页面

发布时间: 2012-10-27 10:42:26 作者: rapoo

让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",修改后如下:

<bean id="logoutController" />
?

?

?

?

读书人网 >软件架构设计

热点推荐