Spring Security自定义注销过滤器

时间:2015-02-19 23:43:36

标签: spring-security

我创建了一个处理LOGOUT_FILTER的自定义安全过滤器。调试我的应用,它确实达到了@Override public void onLogoutSuccess。 我需要被重定向到我的应用程序之外的其他域/上下文/网址。但是,response.sendRedirect根本没有重定向到该网址。

在RWinch的Spring Security 3.1书中,显然你可以这样做,这里是代码片段:

<http ...>
...
<logout logout-url="/logout" 
    logout-success-url="https://${cas.server.host}/cas/logout"/>
</http> 

CAS服务器位于另一个上下文/域中,与上下文应用程序不同。

1 个答案:

答案 0 :(得分:0)

您可以使用LogoutSuccessHandler

pHttp.logout()
        .logoutSuccessHandler(new LogoutSuccessHandler() {
            @Override
            public void onLogoutSuccess(HttpServletRequest pRequest,
                    HttpServletResponse pResponse,
                    Authentication pAuthentication) throws IOException,
                    ServletException {
                pResponse.sendRedirect("https://${cas.server.host}/cas/logout");
            }
        });

我允许你在XML配置中翻译它;)