如何在应用程序中以另一个用户身份运行应用程序

时间:2013-06-21 00:28:59

标签: c# wpf impersonation network-share

我有一种奇怪的请求 - 我有很多用户运行我的应用程序,我需要能够知道谁在运行它。这根本不是问题,我正在捕获这些信息。

技巧是应用程序需要访问受限制的网络共享 - 运行应用程序的用户都没有权限在那里做任何事情。那里有很多东西 - 阅读文件,写作,因为这是一个WPF应用程序,数据绑定到该受限区域中的文件URI。例如,设置Image的ImageSource。在应用程序的所有不同部分中,我需要不受限制地访问该数据。

我一直在研究WindowsIdentity.Impersonation的内容,但它似乎更倾向于在一个小的上下文范围内模仿用户然后结束模仿..这没关系,但不方便。

有没有办法启动我的应用,然后在应用范围内模拟用户?那么我就可以使用正确的权限集完成所有工作。

1 个答案:

答案 0 :(得分:0)

可能有效的一种方法是在用户计算机上设置Windows服务,该服务可以使用适当的Active Directory帐户权限连接到服务器。您的应用程序将与该Windows服务通信,而不是直接与服务器通信。虽然这可能实际上是你想要的,但实施可能比你想要的更多涉及。

相关问题