gpt4 book ai didi

asp.net - HttpContext.Current.User 在 windows 身份验证下为 null(集成管道)

转载 作者:行者123 更新时间:2023-12-04 06:03:51 26 4
gpt4 key购买 nike

在 web.config 中:

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

在 global.asax
protected void Application_AuthenticateRequest(object sender, EventArgs args)
{
tracker.LogRequest(HttpContext.Current.User, DateTime.Now)
///THIS IS ALWAYS NULL!!!
}

我真的对此感到困惑,有什么想法吗?

最佳答案

我认为这是听错事件的症状。您可能应该听听 Application.PostAuthenticateRequest .

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

代码

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

输出

Authenticate Request: True

Post-authenticate Request: False



关注 PostAuthenticateRequest事件, HttpContext.Current.User.Identity属性是 System.Security.Principal.GenericIdentity 的一个实例对于未经身份验证的请求。

关于asp.net - HttpContext.Current.User 在 windows 身份验证下为 null(集成管道),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8619763/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com