如果沒有在IIS中啓用Windows身份驗證,是否可以獲取用戶Windows憑據(即用戶名)?在windows auth禁用的情況下,下面的代碼將返回NT AUTHORITY或IIS APPPOOL \ ASP.NET v4.0,具體取決於是否啓用了模擬和匿名身份驗證。在IIS中禁用Windows授權獲取Windows用戶憑據
System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();
我將一個使用表單身份驗證的asp.net web應用程序轉換爲自定義身份驗證。基本上,如果用戶從網絡外部連接,我強制進行憑證檢查,而如果他們從網絡內連接,我希望能夠抓住他們的Windows用戶名。內部部分在我打開Windows身份驗證時起作用,但在網絡外部測試時會出現彈出式登錄框。我需要爲非本地連接禁用Windows身份驗證,或者找出禁用Windows身份驗證的Windows用戶名。有什麼建議麼? (我想到的另一種選擇是將應用程序分成兩部分,每部分都有獨立的身份驗證模式,但我想避免這種情況)。
-I也試過:
System.Web.HttpContext.Current.User.Identity.ToString();
System.Threading.Thread.CurrentPrincipal.ToString();
我有點想到我將需要使用2網站的方法,只是希望可能有另一種解決方案。感謝您的迴應。 – ovaltein 2013-02-22 21:16:09