C#アプリからC ++実行可能ファイルを起動し、ロールベースのセキュリティコンテキストを保持する
-
19-08-2019 - |
質問
まず、これはおそらく高額な注文であることがわかっていますが...:)
当社が製造するハードウェアと相互作用するソフトウェアがいくつかあります。このソフトウェアは.NETアセンブリをロードし、これがハードウェアへのインターフェイスとして機能します。
現在、ロールベースのセキュリティを提供するC#で記述された「ランチャー」アプリケーションがあります。この「ランチャー」は、プロセスを介してコマンドライン引数(使用する.NETアセンブリ)を指定してC ++実行可能ファイルを起動します。 C ++実行可能ファイルは、提供された.NETアセンブリをロードし、それを使用してアクションを実行します。
問題は、プロセスでC ++アプリケーションを起動するため、「ランチャー」によって提供されるロールベースのセキュリティコンテキストが失われるためです。
C ++アプリケーションを起動し、ロールベースのセキュリティコンテキストを保持する方法はありますか?
お読みいただきありがとうございます。ご質問がある場合はお知らせください。
ありがとうございます
アダム
解決
ロールもチェックするには、C ++アプリケーションを変更する必要があります。
それができる場合は、C#アプリケーションの一部を複数のアセンブリに分割することを検討できます。具体的には、C#アプリケーションの役割を担い、それをCOM / ActiveX拡張機能付きのdllとしてコンパイルします。
その後、C#dllを(COMを介して)呼び出して権限を確認できます。
所属していません StackOverflow