我在MVC編程環境中工作我來到了以上疑問的同時在工作中認證過程的網站?C#和MVC中System.Environment.Username和User.Identity.Name之間的區別是什麼?
0
A
回答
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
認證,那麼它將返回窗口用戶名。但是,如果您使用,它將返回當前登錄的用戶名。
相關問題
- 1. FormsAuthentication:Request.ServerVariables(「AUTH_USER」)和User.Identity.Name之間的區別是什麼?
- 2. MVC和MVVM之間的區別和相似之處是什麼?
- 3. $(())和expr之間的區別是什麼?
- 4. $和$ .fn之間的區別是什麼?
- 5. ++和:haskell之間的區別是什麼?
- 6. $(「」)和$ .find(「」)之間的區別是什麼?
- 7. 「\」和「\。」之間的區別是什麼?
- 8. 「$ | ++」和「$ | = 1」之間的區別是什麼
- 9. $(...)和`...`之間的區別是什麼
- 10. .equals()和==之間的區別是什麼?
- 11. [undefined]和[,]之間的區別是什麼?
- 12. ASP.NET MVC中ViewModel和Model之間的關鍵區別是什麼?
- 13. C和%之間有什麼區別?
- 14. C++中的Pause(),Sleep()和Wait()之間的區別是什麼?
- 15. 什麼之間的區別〜^和Git中
- 16. C#中new object()和new {}之間的區別是什麼?
- 17. C++中stdlib.h和cstdlib之間的主要區別是什麼?
- 18. C#中System.Type和System.RuntimeType之間的區別是什麼?
- 19. C中localtime()和gmtime()之間的區別是什麼?
- 20. C中「* x = 1」和「x = 1」之間的區別是什麼?
- 21. Objective-C中(ReturnClass *)methodName ...和(ReturnClass)methodName ...之間的區別是什麼?
- 22. C中「Real Types」和「Arithmetic Types」之間的區別是什麼?
- 23. C#中myArray.GetValue(2)和myArray [2]之間的區別是什麼?
- 24. C#中Console.Write(「H」)和Console.Write('H')之間的區別是什麼?
- 25. C中*(a [1])和*(* a + 1)之間的區別是什麼?
- 26. C++中object和object()之間的區別是什麼
- 27. - >和>之間的區別是什麼。在C/C++?
- 28. Symbian C++和規範C++之間的語法區別是什麼?
- 29. 「;」和「;」之間的區別是什麼?和T-SQL中的「GO」?
- 30. 「。」和「。」之間的區別是什麼?和[System.ENVIRONMENT] :: PowerShell中的CurrentDirectory?