В приложении ASP.NET (2.0) я использую FormsAuthentication.
В методе Global.asax / Application_AuthenticateRequest я проверяю, имеет ли HttpContext.Current.User значение null.
Достаточно ли этого, чтобы знать, существует ли файл cookie проверки подлинности с помощью форм, срок действия билета не истек и в целом, что механизм проверки подлинности с помощью форм выполнил свою работу по проверке подлинности пользователя?
Мне это нужно, потому что у меня есть определенные страницы в этом приложении, для доступа к которым иногда не требуется аутентификация (на основе некоторых критериев), и я помещаю их в отдельную директиву "location" в web.config, чтобы исключить их от аутентификации форм "поймать все".
Т.е. Я пытаюсь проверить в Application_AuthenticateRequest, нуждается ли страница, доступ к которой осуществляется в этом «месте», в защите или нет, и если да, то узнать, прошел ли пользователь аутентификацию уже, или мне нужно перенаправить на вход в систему.
РЕДАКТИРОВАТЬ: Как следует из ответов, скорее всего, я выберу IsAuthenticated. Чтобы я мог лучше понять это, вот 2 дополнительных вопроса :) (пожалуйста, отредактируйте другие ответы, чтобы добавить их, спасибо):
Могу ли я предположить, что если IsAuthenticated истинно, то HttpContext.Current.User обязательно будет содержать имя пользователя для аутентифицированного пользователя?
Как я могу получить «анонимного пользователя» в HttpContext.Current.User, если применяется FormsAuthentication и только несколько страниц исключены с помощью директивы «location»?