我有一个奇怪的要求——我有很多用户在运行我的应用程序,我需要能够让应用程序知道谁在运行它。这根本不是问题,我很好地捕捉到了这些信息。
诀窍是应用程序需要访问一个受限制的网络共享——运行该应用程序的用户都没有权限在那里做任何事情。那里发生了很多事情——读取文件、写入,由于这是一个 WPF 应用程序,数据绑定到该受限区域中的文件 URI。以设置 Image 的 ImageSource 为例。在应用程序的所有不同部分,我需要不受限制地访问该数据。
我一直在研究 WindowsIdentity.Impersonation 的东西,但它似乎更有针对性地在一个小的上下文范围内模拟用户,然后结束模拟......这还可以,但不方便。
有没有办法让我的应用程序启动,然后在应用程序范围内模拟用户?因此,我可以使用正确的权限集完成所有工作。