Asp.net HttpContext.Current.User在windows身份验证(集成管道)下为空

Asp.net HttpContext.Current.User在windows身份验证(集成管道)下为空,asp.net,asp.net-mvc,iis-express,Asp.net,Asp.net Mvc,Iis Express,在web.config中: <configuration> <authentication mode="Windows"> </authentication> <authorization> <deny users="?" /> </authorization> </configuration> 我真的被这搞糊涂了,有什么想法吗?我认为这是听错了事情的征兆。你可能应该

在web.config中:

<configuration>
    <authentication mode="Windows">
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>
</configuration>

我真的被这搞糊涂了,有什么想法吗?

我认为这是听错了事情的征兆。你可能应该听听我的意见

使用我拥有的项目运行一段示例代码,该项目根据本地域的Active Directory进行身份验证,以询问用户对象是否为空:

代码

Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
    Debug.WriteLine("Authenticate Request: " & (HttpContext.Current.User Is Nothing))
End Sub

Sub Application_PostAuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
    Debug.WriteLine("Post-authenticate Request: " & (HttpContext.Current.User Is Nothing))
End Sub
输出

验证请求:True

后验证请求:False


PostAuthenticateRequest
事件之后,
HttpContext.Current.User.Identity
属性是未经身份验证请求的一个实例。

奇怪的是,任何连接到PostAuthenticateRequest的尝试都会产生一个“未设置为对象实例的对象引用”[NullReferenceException:对象引用未设置为对象的实例。]System.Web.PipelineStepManager.ResumeSteps(异常错误)+1116 System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext上下文,AsyncCallback cb)+89 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext上下文)+189我不认为这是问题的根源,但是根据我做的一个简短的测试,这段代码已经在我同事的一个PCsNot上运行。未经身份验证的上下文在后身份验证事件之后才有用户对象。参见上面的代码和结果。嗯,听起来不错,尽管我仍然无法连接到后身份验证没有崩溃。是否有人提醒您没有与异常相关的代码?此外,(这有点像是瞎猜),您的global.asax原型是否遵循约定:
void Application\u PostAuthenticateRequest(object sender,EventArgs e)
Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
    Debug.WriteLine("Authenticate Request: " & (HttpContext.Current.User Is Nothing))
End Sub

Sub Application_PostAuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
    Debug.WriteLine("Post-authenticate Request: " & (HttpContext.Current.User Is Nothing))
End Sub