我試圖實現spring logoutSuccessHandler。 當用戶註銷,我重定向調用TargetURL中,狀態302,這裏是我的代碼來實現這一點:Spring LogoutHandler:使用302狀態的sendRedirect
public class LogoutHandler extends SimpleUrlLogoutSuccessHandler {
public LogoutHandler(AuthenticationContext context) {
this.context = context;
}
@Override
protected void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication)
throws IOException, ServletException {
String targetUrl = "mytarget";
authentication.setAuthenticated(false);
response.setStatus(HttpServletResponse.SC_FOUND);
response.setHeader("Location", targetUrl);
response.setContentType(MediaType.TEXT_PLAIN_VALUE);
response.getWriter().write(targetUrl);
response.getWriter().flush();
response.getWriter().close();
}
}
但是這個代碼不工作,我已經取消了狀態爲此/註銷web服務。 我們如何實現lougoutHandler?
爲什麼?什麼是默認不做?如果你想要一個不同的策略,實現一個自定義的'RedirectStrategy'並注入它,而不是擴展'SimpleUrlLogoutSuccessHandler'並通過完全覆蓋它的實現來禁用它。 –