использовать User.Identity.Name, когда пользователь впервые заходит на сайт - PullRequest
4 голосов
/ 27 июля 2011

Я хочу запустить некоторый код, который использует User.Identity.Name,

Я хочу запустить этот код, когда пользователь впервые заходит на сайт.(может быть каждый раз, когда они закрывают браузер, а затем снова открывают сайт)

я пытался поместить его в Application_Start в global.asax, но имя User.Identity.Name возвращало ноль;

Какя могу достичь этого?

Ответы [ 2 ]

7 голосов
/ 27 июля 2011

Исходя из вашего описания, вы, вероятно, хотите поместить свой код в Session_Start, а не в Application_Start.Session_Start - это событие, которое срабатывает, когда ваше приложение впервые видит каждого пользователя.

Вот список событий, доступных в Global.asax: http://msdn.microsoft.com/en-us/library/system.web.httpapplication_events%28v=VS.100%29.aspx

6 голосов
/ 27 июля 2011

User.Identity.Name не будет нулевым, только когда пользователь аутентифицирован.Если вы используете Forms Authentication, это произойдет, когда вы позвоните FormsAuthentication.SetAuthCookie.Если вы используете встроенную проверку подлинности Windows, обычно пользователь будет автоматически проходить проверку подлинности при первом запросе сайта.Обычно вы не должны пытаться получить к нему доступ в Application_Start.Вы можете написать собственный метод авторизации Application_AuthenticateRequest, который запускается, когда модуль безопасности устанавливает личность пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...