Я выполнил идентификацию ASP.Net после следующего примера кода: https://github.com/rustd/AspnetIdentitySample
В моей реализации я проверяю, аутентифицирован ли пользователь - это вызвано из FilterAttribute на моих MVC-контроллерах; идея заключается в том, что я хочу подтвердить, что они все еще авторизованы, прежде чем обслуживать страницу.
Итак, в моем фильтре в конечном итоге вызывается следующий код:
_authenticationManager.User.Identity.IsAuthenticated;
_authenticationManager
находится здесь:
private IAuthenticationManager _authenticationManager
{
get
{
return _httpContext.GetOwinContext().Authentication;
}
}
_httpContext
передается в конструктор моего класса identityProvider.
Теперь - когда я вошел в систему, _authenticationManager.User.Identity.IsAuthenticated;
возвращает true
, как ожидалось.
Однако во время разработки я сбрасывал и повторно загружал свою базу данных, не добавляя пользователя. Таким образом, я удалил IdentityUser, но _authenticationManager.User.Identity.IsAuthenticated;
STILL возвращает true
любая идея, почему это так? Я могу только предположить, что это как-то проверяет файл cookie, а не фактически смотрит на БД. это верно?
Или я испортил свою реализацию.....