我的应用程序通常由UserA使用System.Process.Start("app.exe", "UserB", "secret")
作为UserB启动。
现在,我希望app.exe生成其他子进程,但是作为UserA,而没有UserB拥有的其他特权。
有没有一种方法可以不向UserA询问密码?
我尝试仅使用没有凭据的System.Process.Start以及调用cmd /C child.exe
,但是两种方法都以UserB身份启动child.exe
。我正在考虑一种方法,要求当前的shell为我启动子进程,但是我什么都没找到。
最佳答案
最简单的解决方案是启动应用程序可以复制其自己的安全 token ,并允许子进程继承其句柄。句柄值可以在命令行上或通过环境变量传递。
请注意,这实际上使用户B可以不受限制地访问用户A的帐户。
关于c# - 模拟后退回到默认用户的子进程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17990923/