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

本文关键字:应用程序 用户 身份 运行 另一个 | 更新日期: 2023-09-27 18:19:13

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

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

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

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

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

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