IIS returns USERNAME 与调试不同

IIS returns different USERNAME than debug

我有一个调用 Environment.GetEnvironmentVariable("USERNAME") 的 C# Web 应用程序。调试时 returns 我登录机器的用户名。

然后我在 IIS 中设置我的站点。该站点运行匿名和表单身份验证。该站点也在 DefaultAppPool 上运行,但身份是一个对数据库具有适当访问权限的服务帐户。当我点击具有 Environment.GetEnvironmentVariable("USERNAME") 的页面时,返回值是服务器的名称。返回值既不是我登录的 AD 用户,也不是服务帐户。为什么将服务器名称提取为 USERNAME?

@LexLi 提供了提取用户浏览器访问网站所用的 Windows 上下文所需的代码行。 Page.User