2010-10-30 57 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; 

这包含了大量的信息,例如当前的用户名和域。