IIS Windows 身份验证 - HttpContext.Current.User.Identity.Name 为空



我有一个使用 IIS 在 Windows 2016 Server 上托管的 asp.net Web 应用程序。它正在使用Windows身份验证,并且在测试时为我成功工作。我在另一个域中的一位同事报告了访问系统的问题,经过进一步调查,当代码尝试使用 HttpContext.Current.User.Identity.Name 值获取其 userID 时,我们在第二个域中尝试过的所有其他人都会收到空引用异常。

我们的域结构非常简单,我们有"company.com"级别,它有两个子级,"UK.company.com"和"US.company.com"。

我的 Web 应用程序服务器托管在我们 UK.company.com 域中的服务器上,我也是,在过去的几年里,我从未遇到过这个问题,来自美国域的用户能够毫无问题地使用我的应用程序。

任何人都可以提供任何尝试的建议吗?

听起来匿名身份验证仍然启用,因此允许用户在不进行身份验证的情况下访问。

确保您的 web.config 具有:

<anonymousAuthentication enabled="false" />
<windowsAuthentication enabled="true" />

最新更新