2 つのプロセス間で IPC を実行するために、WCF NamedPipesService を使用しています。自分のプロセスだけがアクセスできるように WCF サービスを保護する最も簡単な方法は何ですか?
WCF のドキュメントを調べてみましたが、どれもかなり複雑に見え、クライアント プロセスではなく、主にユーザーの認証に重点を置いているようです。
2 つのプロセス間で IPC を実行するために、WCF NamedPipesService を使用しています。自分のプロセスだけがアクセスできるように WCF サービスを保護する最も簡単な方法は何ですか?
WCF のドキュメントを調べてみましたが、どれもかなり複雑に見え、クライアント プロセスではなく、主にユーザーの認証に重点を置いているようです。
名前付きパイプのバインディングについて、すぐに使えるものは何も考えられません。ただし、常に回避策があります。
カスタム ヘッダー
IClientMessageInspectorインターフェイスを簡単に実装して、各サービス呼び出しでカスタム認証情報 (たとえば、プロセス キーワードまたはログインとパスワード) を送信できます。次に、 IDispatchMessageInspectorを実装して、サービス側でヘッダーを検証します。ここで、WCF のメッセージ インスペクターの詳細を確認できます。
Windows認証
アプリケーション以外は誰も使用できないwindosアカウントを使用し、そのようなWindows認証を構成します
<security mode="Transport">
<transport clientCredentialType="Windows" />
</security>
個人的には、カスタム ヘッダーを使用したオプションの方が気に入っていますが、プロセスを認証する必要は本当にありますか? 誰もあなたのサービスにパブリックからアクセスできません。あなたのサービスを攻撃できる組織内の誰かがいると思いますか? あなたのケースでは、それは本当に正しいバインディングではないかもしれません。