我创建了一个处理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服务器位于另一个上下文/域中,与上下文应用程序不同。
答案 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配置中翻译它;)