即使我在web.config中输入“false”,我的应用仍会模仿用户

时间:2012-03-16 14:56:55

标签: c# asp.net-mvc impersonation

我的应用详情: - ASP.NET MVC 3 - Windows身份验证模式 - IIS 6

因此,在web.config中我将impersonate设置为false,但是当我尝试使用Environment.UserName获取当前用户时,应用程序会继续获取NETWORK SERVICE用户。为什么?

1 个答案:

答案 0 :(得分:2)

要在ASP.NET MVC应用程序中获取当前用户,您应该使用User.Identity.Name属性:

public ActionResult Index()
{
    var currentUser = User.Identity.Name;
    return Content("current user: " + currentUser);
}

Environment.UserName为您提供应用程序池执行的帐户。

还要确保在IIS中您已在虚拟目录的属性中禁用了匿名身份验证,并且仅检查了Windows身份验证。