C#登录用户并以用户身份运行

时间:2014-03-24 13:56:37

标签: c#

我有2个用户:domain1 \ user1和domain2 \ user2。 我使用domain1 \ user1登录。我想使用domain2 \ user2运行应用程序(使用选项'以不同用户身份运行')。 如何获取当前登录到Windows的人员的用户名,因为Environment.UserName返回user2,但我想要domain1 \ user1。

1 个答案:

答案 0 :(得分:4)

在MSDN上查看WindowsImpersonationContext,我相信它有您正在寻找的内容。

http://msdn.microsoft.com/en-us/library/system.security.principal.windowsimpersonationcontext.aspx

如果愿意,您可以实现自己的帮助程序类,然后声明using([establish your context here])并在将使用该用户上下文执行的代码块中执行您的活动。非常方便!

注意:如果您决定使用using,请确保在帮助程序的Dispose()方法中释放模拟上下文,以便在程序离开{{1}时一切都清理干净阻止。