2010-10-30 52 views
1

我的工具中有部分代碼,我不想在特定域用戶以外的任何人運行此工具時執行此操作。我怎樣才能使這成爲可能。如何限制託管工具中的代碼執行?

+0

是客戶端還是服務器上的代碼?它不執行是否安全至關重要?客戶可以隨時執行任何代碼,如果他真的想。 – CodesInChaos 2010-10-30 17:16:42

+0

Winforms或ASP.NET? – 2010-10-30 17:19:22

+0

不是一個桌面工具,它也將用於我們不希望用戶能夠運行的管理任務 – 2010-10-30 19:18:02

回答

2

在一個WinForms或控制檯應用程序,你可以得到當前用戶的這樣的身份:

AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal); 

WindowsPrincipal user = (WindowsPrincipal)System.Threading.Thread.CurrentPrincipal; 
WindowsIdentity ident = user.Identity; 

這包含了大量的信息,例如當前的用戶名和域。