в asp.net, что устанавливает Request.IsAuthenticated = true [дубликат]
-
06-07-2019 - |
Вопрос
Возможный дубликат:
членство в asp.net IsApproved false, но по-прежнему разрешается вход в систему р>
У меня есть пользовательский реестр, но IsApproved имеет значение false, но когда я проверяю Request.IsAuthenticated, он все равно возвращает true. Р>
Знаете ли вы, как это может произойти?
Решение
HttpRequest.IsAuthenticated возвращает true, если HttpContext.User.Identity не имеет значение null, а его свойство IsAuthenticated возвращает true.
Текущий идентификатор указан в FormsAuthenticationModule , но он не имеет ничего общего с вашим MembershipProvider. На самом деле, он даже не ссылается на это. Все, что он делает, это проверяет, установлен ли куки-файл аутентификации и является ли он действительным (как есть, еще не истек).
Думаю, проблема в том, что вы вызываете один из методы FormsAuthentication , такие как RedirectFromLoginPage , который является настройкой файла cookie аутентификации. Если вам нужно подождать, пока пользователь не получит одобрение, убедитесь, что вы не устанавливаете cookie.