我正在研究運行在Intranet上的ASP.NET MVC應用程序。我們使用表單身份驗證,但設置的用戶名將與Active Directory用戶名相同。我試圖找到一種方法來預先填寫Windows用戶名的登錄用戶名字段,但無法找到訪問當前Windows用戶身份的方法。使用表單身份驗證時獲取Windows用戶標識
System.Environment.UserDomainName
返回 「IIS APPPOOL」
System.Security.Principal.WindowsPrincipal.Current.Identity
返回GenericIdentity
HttpContext.Request.LogonUserIdentity.Name
返回 「NT AUTHORITY \ IUSR」
我不想進行身份驗證的Windows用戶或登錄到網站的Windows用戶,我只想讀取用戶名。在使用表單身份驗證而不是Windows身份驗證時,有什麼方法可以做到這一點?
我想加入這個'<身份冒充=「真」 />'到webconfig(正下方的'<認證>'位,不裏面!)應該做你需要的。然後,控制器應該有一個'用戶'屬性,你可以查詢,而不是上面的代碼... – Tallmaris 2013-04-26 15:31:49
我只是試了一下,並得到了Principal.GenericIdentity – TabbyCool 2013-04-26 15:47:03