当用户第一次访问网站时,使用user . identity . name

本文关键字:使用 user identity name 用户 第一次 访问 网站 | 更新日期: 2023-09-27 18:03:47

我想运行一些使用User.Identity的代码。名字,

我想在用户第一次进入站点时运行该代码。(可以是每次他们关闭浏览器然后重新打开网站)

我试着把它放在全局的Application_Start中。,但是User.Identity.Name返回null;

我怎样才能做到这一点?

当用户第一次访问网站时,使用user . identity . name

根据您的描述,您可能希望将代码放在Session_Start中,而不是Application_Start中。Session_Start是应用程序第一次看到每个用户时触发的事件。

下面是全局中可用的事件列表。asax: http://msdn.microsoft.com/en-us/library/system.web.httpapplication_events%28v=VS.100%29.aspx

User.Identity.Name只有在用户通过认证时才不会为空。如果你用的是Forms Authentication,那么当你调用FormsAuthentication.SetAuthCookie的时候就会发生这种情况。如果您使用的是集成Windows身份验证,那么通常情况下,当用户第一次请求该站点时,将自动进行身份验证。通常您不应该尝试在Application_Start中访问它。您可以编写一个自定义授权Application_AuthenticateRequest方法,该方法在安全模块建立用户身份时触发。