Отправка POST на стороне сервера из веб-приложения Java - PullRequest
0 голосов
/ 24 сентября 2018

Я сейчас работаю над Java-приложением на основе Spring-MVC.

Одной из функций этого приложения является то, что пользователь может изменить свой адрес электронной почты на другой адрес электронной почты.

Когда пользователь меняет свой адрес электронной почты, текущее состояние заключается в том, чтобы выйти из системы в той же операции, что достигается путем возврата

redirect:/j_spring_security_logout 

из метода контроллера, который обновляет пользователейадрес электронной почты.

Новая функциональность веб-приложения заключается в поддержке только POST (не GET) для выхода из системы, что приводит к прерыванию текущей функциональности выхода пользователя из системы при изменении адреса электронной почты.

Каков рекомендуемый способ обходаэтот?

Могу ли я:

a) Как-нибудь отправить POST со стороны сервера, чтобы выйти из системы?

б) Как-нибудь выйти из системы на стороне сервера пользователя (лишить законной силы их сеанс, очистить их куки и перенаправить их на страницу входа?)?

в) Должен ли пользователь выйти из системы при смене адреса электронной почты в любом случае или это странная вещь?

Любой совет более чем признателен.

1 Ответ

0 голосов
/ 04 декабря 2018

При использовании Spring Security с контейнером, поддерживающим Servlet 3.0 (или выше), он интегрируется с методом HttpServletRequest.logout.При вызове этого метода он активирует зарегистрированную Spring Security LogoutHandler.После этого вы можете перенаправить на нужную страницу.

@RequestMapping
public String yourMethod(HttpServletRequest request) {
    // your logic here
    request.logout(); // Logout to force a re-login
    return "redirect:/login"; // redirect to page you want
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...