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 として起動します。現在のシェルに子プロセスを起動するように依頼する方法を考えていましたが、まだ何も見つかりませんでした。

4

1 に答える 1

1

最も簡単な解決策は、起動アプリケーションが独自のセキュリティ トークンのコピーを作成し、子プロセスがそのハンドルを継承できるようにすることです。ハンドル値は、コマンド ラインまたは環境変数を介して渡すことができます。

これにより、事実上、ユーザー B はユーザー A のアカウントに無制限にアクセスできることに注意してください。

于 2013-08-08T02:59:55.310 に答える