我正在尝试使用
使用HTTPcontext对象获取当前用户名string username=HttpContext.Current.User.Identity.Name
但我观察到奇怪的行为,即当我第一次加载时,我将用户名NT AUTHORITY\IUSR
但是当我第二次或第三次加载时,我得到了正确的登录用户名。无法弄清楚为什么首次运行时没有返回正确的用户名。
答案 0 :(得分:1)
这实际上是功能,称为 ASP.NET模拟。这是为您的应用程序启用的。
在此实例中,ASP.NET模拟IIS传递给它的令牌,IIS是经过身份验证的用户或匿名Internet用户帐户(IUSR_machinename)。这就是您的应用程序的确切情况。 你可以在MSDN阅读有关模拟以及如何控制它的信息。