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