检查global.Identity.Is是否在global.asax中进行了验证

时间:2015-10-01 17:19:03

标签: c# asp.net

在我的网站上,我想查看用户是否已登录每个页面请求。所以我在global.asax文件中有这个:

protected void Application_BeginRequest(object sender, EventArgs e)
{
    if (!HttpContext.Current.User.Identity.IsAuthenticated)
    {
        // do something
    }            
}

但是我一直收到一个对象引用错误,即使我已经登录,用户也总是为空。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

您需要使用 Application_AuthenticateRequest 来获取用户参考,以便检查用户是否经过身份验证。

protected void Application_AuthenticateRequest(Object sender, EventArgs e) 
{
   if(Request.IsAuthenticated)
   {
   access now Context.User
   }     
}