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



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

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

我一直在研究WindowsIdentity。模拟的东西,但它似乎更有针对性的模拟用户在一个小的上下文中范围,然后结束模拟…这是可以的,但不方便。

是否有一种方法可以让我的应用程序启动,然后在应用程序范围内模拟用户?这样我就可以用正确的权限集来做所有的工作了

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

相关内容

最新更新