Как убедиться, что одна и та же учетная запись не используется для одновременного входа в систему двух разных людей в Spring Security? - PullRequest
2 голосов
/ 07 октября 2010

У меня есть приложение Spring MVC, которое не защищает обновления пользовательских данных транзакциями.

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

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

Существует ли простой способ защиты от этого в Spring Security?

Ответы [ 3 ]

7 голосов
/ 07 октября 2010

Spring Security поддерживает защиту от одновременных входов в систему. См. 2.3.3 Управление сеансами для получения инструкций о том, как включить его.

2 голосов
/ 07 октября 2010

Добавить столбец в базу данных пользователей с именем «залогинен».Если это значение установлено, откажитесь от второго входа в систему.

0 голосов
/ 07 октября 2010

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

Лучший способ - это то, что предложил Аарон.

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