ASP.net формирует аутентификацию - администратор убивает сеанс одного пользователя - PullRequest
4 голосов
/ 20 января 2012

Немного странный вопрос дошел до нас.Есть ли способ программно заставить пользователя выйти из системы при входе в систему как другой пользователь (например, как администратор).

Например, администратор stackoverflow решит, что я должен выйти из системы - щелкнитеи затем я буду вынужден снова войти в систему при моем следующем запросе SO.

Это для сайта, использующего стандартную проверку подлинности на основе форм с ASP.net.

1 Ответ

1 голос
/ 20 января 2012

Поскольку сеансы аутентификации зависят от файла cookie, они не знают друг о друге.

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

Вы начинаете с отслеживания:

  1. пользователь A - роль «admin» входит в систему. Создайте строку в db
  2. пользователь A - роль «менеджер» входит в систему, теперь вы помечаете строку на шаге 1 как просроченную и создаете новую строку для пользователя A - роль «менеджер»
  3. пользователь A - роль «администратор» пытаетсявыполнить какое-то действие.В методе запроса на начало вы будете проверять, помечен ли этот сеанс как устаревший.Если это просто выход из системы, удалите строку на шаге 1 и перенаправьте на вход в систему.
  4. пользователь A нажимает кнопку выхода из системы, удаляет пользователя A - роль 'manager' строка
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...