我正在使用自定義驗證的asp.net Web應用程序。我編寫了一個快速測試應用程序,放在我們的Web服務器上,以確保我可以從用戶那裏獲取必要的憑據。我試圖讓用戶當前登錄使用下面的代碼行(我以前做過):asp.net web應用程序返回IIS信息而不是當前用戶憑據
string username=System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();
這通常返回,格式爲「域\用戶」的字符串。我得到的東西是這樣的:IIS APPPOOL \ ASP.NET v4.0
我敢肯定我缺少一些簡單的東西,是否有需要改變的IIS設置?或者有沒有不同的方式來獲取用戶名?
你有模擬安裝在您的網頁.config? – 2013-02-13 16:37:54
@ Dillie-O我目前沒有模擬設置,我認爲它應該被禁用,因爲asp應用程序會處理認證,我嘗試啓用它,NT AUTHORITY \ IUSR返回給我。 – ovaltein 2013-02-13 17:16:34
Since你正在使用自定義身份驗證,你是否有適當的代碼來設置IPrincipal的詳細信息?沒有,我相信Security.Principal類默認爲你有什麼 – 2013-02-13 18:43:44