2015-06-10 3 views
1

Я использую шаблон по умолчанию MVC 5 с «Индивидуальными учетными записями», выбранными для аутентификации. он использует идентификатор ASP.NET с платформой Entity Framework.Аутентификация Cookie Asp .NET Identity

Использование Chrome Я открыл приложение и зарегистрировал пользователя, а затем зарегистрировался у пользователя. Я случайно удалил базу данных. Теперь, когда я снова открываю приложение в Chrome, он по-прежнему показывает мне, что он подписан, поскольку файл cookie auth сохраняется в браузере. Однако пользователь, который вошел в систему, не существует в базе данных.

Правильное ли поведение?
Если нет, то какие-либо предложения о том, как его предотвратить?

ответ

2

Это правильное поведение. Пока auth cookie действителен и не истек, ваше приложение предполагает, что пользователь аутентифицирован.

Когда вы отключите или (мягко) удалите пользователя, вы должны позвонить UserManager.UpdateSecurityStamp(string userId), что приводит к тому, что cookie auth будет недействительным при следующей проверке.

+0

Представьте сценарий, в котором пользователь вошел в систему, а его аккаунт заблокирован или удален администратором. Затем при следующем вызове сервера пользователь должен быть вышвырнут, которого не произойдет. Я не знаю, есть ли чистый способ сделать это. –

+0

Я обновил свой ответ. – Martin

+0

Отлично, вот что я искал. Спасибо, Мартин! –

Смежные вопросы