我有一個REST API已經啓動並正在運行。現在我正在嘗試做一個日誌服務。在REST Web API上獲取Windows登錄的用戶
這個想法是在客戶端應用程序上登錄數據庫表中用戶所做的所有操作。
由於它用於內部使用(僅在Intranet上使用),因此我使用Windows身份驗證(<authentication mode="Windows" />
)。
日誌服務已經在處理一個問題。我無法獲取登錄的用戶。
如果我在本地機器上運行API和客戶端應用程序,我可以獲取我的用戶。但是,當我發佈我不能。
我已經嘗試過:
string userName = WindowsIdentity.GetCurrent().Name;
string userName = HttpContext.Current.User.Identity.Name;
string userName = HttpContext.Current.Request.LogonUserIdentity.Name;
string userName = Environment.UserName;
我得到的各種用戶名(IUSR
,IIS APPPOOL\MyApi
,MyApi
也是空白),但沒有登錄用戶的窗口。
我有Windows身份驗證在IIS上啓用。
誰能告訴我這是否可能?如果是這樣,該怎麼做?
你確定基本驗證是關閉的嗎?啓用Windows身份驗證還不夠,您還必須禁用基本身份驗證。然後基於HttpContext的應該工作。其他用於獲取在服務器上運行的進程的用戶名。 – Kevin
是的,基本身份驗證和匿名身份驗證都關閉。 – lpfx