Sping перенаправление безопасности в другой контекст при выходе - PullRequest
0 голосов
/ 20 ноября 2018

Я использую Spring Security для входа и выхода. Мое требование - мне нужно перенаправить в другой контекст после успешного выхода.

<security:logout logout-url="/spring/logout" logout-success-url="/spring1" />

Но это не перенаправление в другой контекст.Как я могу перенаправить?

1 Ответ

0 голосов
/ 20 ноября 2018

Вы можете зарегистрировать LogoutSuccessHandler, который выполняет перенаправление:

public class RedirectingLogoutSuccessHandler implements LogoutSuccessHandler {

    @Override
    public void onLogoutSuccess(HttpServletRequest request, 
         HttpServletResponse response, Authentication authentication)
            throws IOException, ServletException {

        String basePath = request.getScheme() + "://" + request.getServerName()
                + (request.getServerPort() != 80 ? ":" + request.getServerPort() : "");
        String otherContext = "/spring1";

        response.sendRedirect(basePath + "/" + otherContext);
    }
}

Зарегистрируйте это как bean-компонент и укажите для него конфигурацию безопасности:

<logout
  logout-url="/perform_logout"
  success-handler-ref="redirectingLogoutSuccessHandler " />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...