2015-11-12 115 views

回答

1

System.Environment.Username會爲您提供當前登錄的用戶運行進程的用戶名 - 這與在命令提示符中鍵入SET並查看%USERNAME%環境變量相同。在虛擬主機環境中,它可能是運行IIS應用程序池的某個應用程序帳戶。在某些情況下,例如當您位於啓用域的網絡中並使用Windows身份驗證爲您的網站時,您已啓用身份模擬,然後System.Environment.Username可能會爲您提供訪問您的網站的用戶的名稱,但這隻適用於特定的場景。

User.Identity.Name但是,會爲您提供已在您的網站中進行身份驗證的用戶的姓名。如果您使用的是Windows身份驗證,則它將是Windows用戶名。如果您使用的是基本身份驗證,則它將是在登錄框中鍵入的用戶名。如果您使用任何其他身份驗證方案,無論是標準還是自定義身份驗證方案,都使用ASP.NET身份驗證框架,您將獲得登錄用戶名。這就是爲什麼這是推薦的方式來獲取當前登錄的用戶名 - 不是System.Environment,而是System.Security.Principal.WindowsIdentity.GetCurrent - 只是User.Identity

1
System.Environment.Username 

其誰是當前登錄的Windows用戶名。

,而這是用來現場驗證

User.Identity.Name 

其用戶名。如果您使用windows認證,那麼它將返回窗口用戶名。但是,如果您使用​​,它將返回當前登錄的用戶名。

相關問題