в asp.net, что устанавливает Request.IsAuthenticated = true [дубликат]

StackOverflow https://stackoverflow.com/questions/1212787

Вопрос

  

Возможный дубликат:
   членство в asp.net IsApproved false, но по-прежнему разрешается вход в систему

У меня есть пользовательский реестр, но IsApproved имеет значение false, но когда я проверяю Request.IsAuthenticated, он все равно возвращает true.

Знаете ли вы, как это может произойти?

Это было полезно?

Решение

HttpRequest.IsAuthenticated возвращает true, если HttpContext.User.Identity не имеет значение null, а его свойство IsAuthenticated возвращает true.

Текущий идентификатор указан в FormsAuthenticationModule , но он не имеет ничего общего с вашим MembershipProvider. На самом деле, он даже не ссылается на это. Все, что он делает, это проверяет, установлен ли куки-файл аутентификации и является ли он действительным (как есть, еще не истек).

Думаю, проблема в том, что вы вызываете один из методы FormsAuthentication , такие как RedirectFromLoginPage , который является настройкой файла cookie аутентификации. Если вам нужно подождать, пока пользователь не получит одобрение, убедитесь, что вы не устанавливаете cookie.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top