Оповещение пользователя о смене сеанса одновременным входом в систему - PullRequest
3 голосов
/ 29 декабря 2010

У нас есть приложение безопасности Spring с довольно стандартной настройкой. В настоящее время мы разрешаем только 1 сеанс для каждого участника, отклоняя дополнительные входы в систему тем же участником, пока первый сеанс не выйдет из системы или не истечет (MaximumSessions = 1, excpeptionIfMaximumExceeded = true).

Я бы хотел изменить это так, чтобы при повторном входе субъекта в систему с активным в данный момент входом в другой сеанс первый сеанс аннулируется / заменяется. Это легко сделать, используя предоставленную стратегию параллельного управления сессиями весенней безопасности, но у меня возникают проблемы с выяснением того, как предупредить пользователя. Когда сеанс пользователя заменяется, он отменяется обработчиком выхода из системы. Следующий запрос получит перенаправление на страницу входа с кодом ошибки в строке запроса. Однако, если запрос, который получает это перенаправление, является изображением или другим непрограмматическим вызовом, я не могу обработать это.

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

Есть ли где-нибудь пример такой установки?

1 Ответ

1 голос
/ 29 декабря 2010

Задумывались ли вы о разработке механизма опроса в javascript для предупреждения пользователя о том, что его сеанс будет аннулирован?Таким образом, они будут знать, что их сеанс недействителен, и, возможно, будут иметь возможность обновить его, если они частично заполнили формы или текстовые области.

Это также может работать со стороны входа в систему.Вы можете добавить шаг после входа в систему, если у них активен другой сеанс, и они должны подтвердить, что хотят аннулировать его.

Кажется, что промежуточный шаг не нужен, потому что, как правило, аутентификация должна быть логической.Либо они аутентифицированы, либо нет.Промежуточная зона может быть более жесткой, чтобы обрабатывать все случаи для.

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