2

我的应用程序通常由 UserA 作为 UserB 启动,使用System.Process.Start("app.exe", "UserB", "secret").

现在,我希望 app.exe 生成额外的子进程,但作为 UserA,没有 UserB 拥有的额外权限。

有没有办法在不向 UserA 询问密码的情况下完成此操作?

我尝试在没有凭据的情况下使用 System.Process.Start 以及调用cmd /C child.exe,但两种方法都child.exe以 UserB 身份启动。我正在考虑一种方法来让当前的 shell 为我启动子进程,但我什么也没找到。

4

1 回答 1

1

最简单的解决方案是启动应用程序可以复制自己的安全令牌并允许子进程继承它的句柄。句柄值可以在命令行上或通过环境变量传递。

请注意,这实际上使用户 B 可以不受限制地访问用户 A 的帐户。

于 2013-08-08T02:59:55.310 回答