Asp.net mvc 模拟不更改用户身份

Asp.net mvc 模拟不更改用户身份,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,我尝试做一个应用程序,我需要用户信息。 因此,我使用: var windowsIdentity = Thread.CurrentPrincipal.Identity as WindowsIdentity 及 但即使模拟为false,我也会得到相同的结果。结果正常,但为什么当模拟为false时,我没有IIS帐户用户,而为true时,我的windows帐户?我错过了什么吗?你的应用程序的上下文是什么?这是内部网还是公开的internet应用程序?如果是后者,您应该查看MVC4的简单成员身份()

我尝试做一个应用程序,我需要用户信息。 因此,我使用:

var windowsIdentity = Thread.CurrentPrincipal.Identity as WindowsIdentity



但即使模拟为false,我也会得到相同的结果。结果正常,但为什么当模拟为false时,我没有IIS帐户用户,而为true时,我的windows帐户?我错过了什么吗?

你的应用程序的上下文是什么?这是内部网还是公开的internet应用程序?如果是后者,您应该查看MVC4的简单成员身份()或MVC5的新ASP.NET标识()。后者使得每个人都可以通过OAuth使用外部身份验证源,如Facebook和Twitter。模拟通常用于允许访问应用程序外部的文件和资源—控制代码运行或获取资源的用户。感谢您的响应,上下文是intranet.Hi。请注意,MVC5使用的.NET4.5不支持。请看这篇文章,它既解释了为什么取消了模拟,又提供了一个解决方法。
<identity impersonate="true" />
<authentication mode="Windows"></authentication>