我在嘗試授予{MACHINENAME} \ ASPNET和網絡服務的權限,但這並沒有什麼區別,我也嘗試了在訪問路徑時被拒絕的錯誤信息< impersonate = true />使用管理員帳戶,這也沒有什麼區別,所以我該如何確定究竟使用哪個帳戶?如何找出我的ASP.NET代碼在哪個帳戶下運行?
14
A
回答
13
要找出您的應用在任何給定時間運行的NT帳戶,請執行(在VB.NET中):
Dim User = System.Security.Principal.WindowsIdentity.GetCurrent.User
Dim UserName = User.Translate(GetType(System.Security.Principal.NTAccount)).Value
使用ASP.NET時,此帳戶將與使用IIS管理器配置的應用程序池的標識匹配。請注意,匿名IIS用戶不涉及ASP.NET請求。
8
您可以使用此代碼:
C#
Response.Write("Windows Account which runs ASP.NET is: "
+ Environment.Username);
VB.NET
Response.Write("Windows Account which runs ASP.NET is: " _
& Environment.Username)
如果您的PC上運行在Visual Studio應用程序(本地主機)你會得到你的用戶名。如果您在IIS上部署ASP.NET Web應用程序,則可能會獲得NETWORK SERVICE帳戶,因爲這是運行IIS 6.0(Windows Server 2000的IIS 5.0上的ASPNET)的默認用戶。
Environment.UserName
返回線程當前登錄的用戶。 Page.User
返回ASP.NET通過身份驗證驗證的名稱,該用戶在大多數情況下獨立於運行當前線程的Windows登錄。對於匿名請求Page.User是空白的,而Environment.User將是NETWORK SERVICE。
由於mdb在對此回答的評論中正確指出,Environment.Username將簡單地返回USERNAME環境變量,該變量在進程創建時設置,在模仿等情況下不會更新。
14
C#代碼爲vb.net答案
var user = System.Security.Principal.WindowsIdentity.GetCurrent().User;
var userName = user.Translate(typeof (System.Security.Principal.NTAccount));
-3
strint t=System.Web.Security.Membership.GetUser().UserName.ToString();
+0
爲了未來讀者的利益,你可以添加一些文字來解釋爲什麼這個答案比較舊的答案更可取? – Flexo 2013-03-13 18:00:12
相關問題
- 1. IIS Express運行在哪個帳戶下?
- 2. ASP.NET 4應用程序在哪個Windows帳戶下運行?
- 3. 在哪個帳戶默認ASP.NET 4.0代碼執行?
- 4. 在ASP.NET中,代碼在哪個憑據下運行?
- 5. 如何找出我正在運行的reportlab的哪個版本?
- 6. 找出哪些代碼運行實體框架的SQL代碼
- 7. 如何配置asp.net進程在域帳戶下運行?
- 8. IIS7默認池在哪個帳戶下運行
- 9. TFS Build Agent服務應運行在哪個帳戶下?
- 10. 如何在trustedinstaller帳戶下運行我的「C#」應用程序?
- 11. 如何找出哪個是SharePoint Server 2010的安裝帳戶。
- 12. VS2012在哪裏運行我的asp.net代碼?
- 13. IIS使用哪個帳戶運行asp.net項目
- 14. 在IOS模擬器下運行時,我的代碼在哪裏?
- 15. 遠程運行SSIS軟件包 - 它們在哪個帳戶下運行?
- 16. 如何找出我的ASP.Net MVC應用程序正在運行的用戶?
- 17. Lampp在哪個用戶下運行?
- 18. 如何找出某個Eclipse元素的源代碼在哪裏?
- 19. 如何找出哪一行代碼正在打開文件?
- 20. 讓用戶指定服務在哪個帳戶上運行
- 21. 如何在不同用戶帳戶下運行程序
- 22. 我如何運行一個JavaScript代碼
- 23. 我的代碼的哪個部分正在運行?
- 24. 我在哪裏可以找到我的Azure帳戶名稱和帳戶密鑰?
- 25. 我在哪裏出錯這個代碼
- 26. 如何找出我正在運行的Zurb基金會的哪個版本
- 27. WP8 - 查找連接帳戶的代碼
- 28. 無法在沒有密碼的帳戶下運行服務?
- 29. 如何知道哪個用戶帳戶運行特定的Windows服務?
- 30. 如何找出我的進程ID在哪個物理CPU上運行?
請記住,雖然,Environment.Username將直接返回USERNAME環境變量,它被設置在進程創建和未更新在冒充等情況下。 – mdb 2008-11-09 12:32:04