簡體   English   中英

在 IIS 上托管后,Environment.UserName 無法正常工作。 帶有 ASP.net 內核 2.0 的代碼

[英]Environment.UserName not working after hosting on IIS. Code with ASP.net core 2.0

使用(System.DirectoryServices.AccountManagement)庫驗證對 Active Directory 的使用。 如何識別用戶以使他自動登錄。 我在本地運行時使用環境變量(Environment.UserName)獲取用戶名。 但是,在 IIS 環境上托管后無法獲取用戶名。用戶名在 IIS 上不起作用。

在此處輸入圖像描述

Environment.Username返回 asp.net 應用程序當前線程上的用戶。 這就是為什么在將其部署到 IIS 時獲得應用程序池標識而不是登錄用戶的原因。

如果您希望 IIS 返回類似的結果,您可以在 asp.net 核心應用程序的應用程序池標識中指定用戶。 然后Environment.Username將返回類似的結果。

https://docs.microsoft.com/en-us/iis/manage/configuring-security/application-pool-identities

如果用戶名不是您想要的,您只希望應用程序處理客戶端的用戶身份。 您應該啟用 IIS windows 身份驗證。 然后您將收到來自 Httpcontext 的身份。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM