Как заблокировать несколько входов в систему с помощью Spring-security? - PullRequest
0 голосов
/ 08 ноября 2011

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

При одновременном управлении сеансами безопасности Spring это легко может быть выполнено с помощью следующей конфигурации в файле security.xml.:

<concurrent-session-control max-sessions="1" exception-if-maximum-exceeded="true"/>

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

1 Ответ

2 голосов
/ 08 ноября 2011

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

Да.Это то, что делает <concurrent-session-control max-sessions="1".

Если вы не хотите, чтобы пользователь был заблокирован, вам нужно установить max-sessions="2".

или .

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

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