我的应用详情: - ASP.NET MVC 3 - Windows身份验证模式 - IIS 6
因此,在web.config中我将impersonate设置为false,但是当我尝试使用Environment.UserName
获取当前用户时,应用程序会继续获取NETWORK SERVICE用户。为什么?
答案 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身份验证。