В asp.net, что устанавливает Request.IsAuthenticated = true

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

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

Вы знаете, как это может случиться?

Ответ 1

HttpRequest.IsAuthenticated возвращает true, если HttpContext.User.Identity не является нулевым, а свойство IsAuthenticated возвращает true.

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

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