Это довольно специализированная тема, вот исследуемое решение:
Вот коммит 3.0.x, который удалил перенаправление: http://git.springsource.org/spring-security/spring-security/commit/a087e828a63edf0932e4eecf174cf816cbe6a58a
Основная идея состоит в том, что они удалили возможность для компонента по умолчанию LogoutSuccessHandler обрабатывать перенаправления, удалив targetUrlParameter (установка его в значение null не вызывает перенаправлений).
Таким образом, решение проблемы заключается в
1) Создайте простой компонент LogoutSuccessHandler, который не устанавливает для targetUrlParameter значение null:
/**
* Handles the navigation on logout by delegating to the {@link AbstractAuthenticationTargetUrlRequestHandler}
* base class logic.
*/
public class RedirectLogoutSuccessHandler extends AbstractAuthenticationTargetUrlRequestHandler
implements LogoutSuccessHandler {
public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication)
throws IOException, ServletException {
super.handle(request, response, authentication);
}
}
И
2) Зарегистрируйте этот компонент в resources.groovy
:
logoutSuccessHandler(com.example.package.RedirectLogoutSuccessHandler)
И поведение по умолчанию - разрешить перенаправления выхода из системы.