Как автоматически перейти на страницу входа в приложении Spring MVC? - PullRequest
0 голосов
/ 22 мая 2018

У меня есть приложение Spring MVC, где пользователь должен быть перенаправлен на страницу входа в систему по окончании сеанса.Я попробовал общее решение, предложенное здесь .Но он не перенаправляет автоматически , он перенаправляет, когда пользователь нажимает на любую ссылку или предпринимает какое-либо действие.

Затем я создал этот класс

@Component
public class SessionEndedListener implements ApplicationListener<SessionDestroyedEvent> {

    protected static Logger log = LogManager.getLogger(SessionEndedListener.class);

    @Override
    public void onApplicationEvent(SessionDestroyedEvent event)
    {
        log.info("Session expired or have been destroyed!");
    }

} 

А теперь мой onApplicationEvent срабатывает по окончании сеанса.Тем не менее я не могу перенаправить из этого метода.

Как перенаправить автоматически , когда сеанс истек?Моя версия Spring - 4.2.5, а версия Spring Security - 4.1.4.

1 Ответ

0 голосов
/ 22 мая 2018

Это не так, как работает http, в принципе вы не можете это сделать, потому что между сервером и клиентом нет долгой связи, когда вы находитесь на веб-сайте / в приложении, поэтому, по сути, единственный сервер времени может сообщить вашему сеансуИстек срок действия, когда вы выполняете действие и связываетесь с ним.

Сказал, что есть несколько общих вариантов, которые вы пытаетесь, например, добавить в клиентский код javascript (который выполняется в вашем браузере, например, каждые 5/10 секунд) и pingсервер, чтобы определить, истек ли сеанс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...