Благодаря Google я нашел кэшированную версию сообщения, на которое @keyboardP ссылается в его ответе . Я публикую этот ответ / сообщение здесь как ссылку для других, поскольку исходная ссылка не работает (2012-12-06).
Оригинальный вопрос , к которому относится ответ ниже:
У меня есть приложение на основе форм, которое дает мне припадки. Я заметил, что в
место, где свойство IsAuthenticated было True, теперь
ложь и не работает, как ожидалось. Мне интересно, если у меня есть
недопустимая настройка ??
Может кто-нибудь сказать мне, что устанавливает для свойства IsAuthenticated значение True - что
вход в систему.
Ответ Даниэля Кента:
Request.IsAuthenticated
не только для проверки подлинности форм - это действительно
независимо от того, какой тип аутентификации используется (Windows, Passport,
Формы или наша собственная нестандартная схема)
HttpRequest.IsAuthenticated
будет истинным, когда пользователь делает запрос
был аутентифицирован. По сути, это свойство обеспечивает тот же
информация как Context.User.Identity.IsAuthenticated
.
В начале запроса Context.User.Idenity
содержит GenericIdentity
с пустым именем пользователя. Свойство IsAuthenticated
для этого объекта будет
вернуть false
, поэтому Request.IsAuthenticated
будет false
. Когда
модуль аутентификации обрабатывает событие Application_AuthenticateRequest
и
успешно аутентифицирует пользователя, заменяет GenericIdentity
в
Context.User.Identity
с новым IIdentity
объектом, который вернет true
из
его IsAuthenticated
свойство. Request.IsAuthenticated
вернет true
.
В случае проверки подлинности с помощью форм модуль проверки подлинности с использованием форм
зашифрованный билет аутентификации, содержащийся в куки аутентификации
аутентифицировать пользователя. Сделав это, он заменяет
GenericIdentity
in Context.User.Identity
с FormsIdentity
объектом, который
возвращает True
из свойства IsAuthenticated
.
Итак, установка IsAuthenticated
в true
фактически отличается от входа в систему.
Джефф говорит, что вход в формы аутентификации происходит, когда
Билет аутентификации генерируется и отправляется клиенту в виде куки.
(RedirectFromLoginPage
или SetAuthCookie
) О чем мы говорим
IsAuthenticated
- это аутентификация, которая происходит с каждым запросом страницы.
Вход в систему происходит, когда пользователь вводит свои учетные данные и получает
тикет, аутентификация происходит с каждым запросом.