繁体   English   中英

如何在应用程序中以其他用户身份运行应用程序

[英]How to run application as another user from within an application

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

诀窍在于,应用程序需要访问受限制的网络共享-运行该应用程序的所有用户都没有权限在该处执行任何操作。 那里有很多工作-读取文件,写入文件,并且由于这是WPF应用程序,因此数据绑定到该受限区域中的文件URI。 例如,设置图像的ImageSource。 在应用程序的所有不同部分,我都需要不受限制地访问该数据。

我一直在研究WindowsIdentity.Impersonation的内容,但它似乎更倾向于在较小的上下文范围内模拟用户,然后结束模拟。.可以,但不方便。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM