1
詳情: - ASP.NET MVC 3 - Windows身份驗證模式 - IIS 6我的應用程序不斷,甚至模擬用戶當我在web.config中把「假」我的應用程序的
所以,在web.config我把impersonate設置爲false,但是當我嘗試讓當前用戶使用Environment.UserName
時,應用程序一直收到NETWORK SERVICE用戶。爲什麼?
詳情: - ASP.NET MVC 3 - Windows身份驗證模式 - IIS 6我的應用程序不斷,甚至模擬用戶當我在web.config中把「假」我的應用程序的
所以,在web.config我把impersonate設置爲false,但是當我嘗試讓當前用戶使用Environment.UserName
時,應用程序一直收到NETWORK SERVICE用戶。爲什麼?
要獲得你應該使用User.Identity.Name屬性的ASP.NET MVC應用程序的當前用戶:
public ActionResult Index()
{
var currentUser = User.Identity.Name;
return Content("current user: " + currentUser);
}
Environment.UserName
給你的應用程序池執行所使用的帳戶。
另外,還要確保在IIS你在虛擬目錄的屬性禁用匿名身份驗證,並只留下Windows身份驗證檢查。
在任何課程或只在視圖和控制器? – 2012-03-16 15:01:37
@ViniciusOttoni,你可以在任何地方訪問'HttpContextBase',它幾乎可以在ASP.NET應用程序的任何位置。而在你的服務層和模型中,你不應該試圖訪問ASP.NET工件。你應該將它們作爲參數傳遞給這些方法。 – 2012-03-16 15:02:11