Как запретить вход на сайт нескольких пользователей под одной учетной записью?

Нужно, чтобы при заходе пользователя с тем же логином из другого браузера/компьютера у предыдущей сессии заканчивался сеанс (т.е. Имеются 2 человека, работающих под одной учетной записью. Авторизовался человек номер 1, при авторизации человека №2 сеанс человека №1 заканчивается ).

Сайт написан asp.net mvc 4, используется FormsAuthentication.
  • Вопрос задан
  • 2483 просмотра
Пригласить эксперта
Ответы на вопрос 1
@froosty
Добавьте в БД в таблицу пользователей поле "auth_key", в которое каждый раз при попытке авторизироваться, записывайте случайную строку, которую после успешной авторизации пишите в куку (ну или как там у Вас хранятся данные авторизации). А там, где вы проверяете "авторизированность" пользователя добавьте ещё проверку соответствия auth_key из таблицы и auth_key из кук. Получится, что у Вас постоянно в базе будет храниться некий ключ для последней авторизации, а все предыдущие будут отсекаться, т.к. в куках будет старый auth_key. Это в простейшем варианте.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы