0

我有一个奇怪的要求——我有很多用户在运行我的应用程序,我需要能够让应用程序知道谁在运行它。这根本不是问题,我很好地捕捉到了这些信息。

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

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

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

4

1 回答 1

0

一种可行的方法是在用户计算机上设置 Windows 服务,该服务可以使用适当的 Active Directory 帐户权限连接到服务器。您的应用程序将与该 Windows 服务进行通信,而不是直接与服务器通信。虽然这可能确实可以满足您的要求,但实现可能比您想弄乱的要复杂得多。

于 2013-06-21T03:30:17.520 回答