3

2 つのプロセス間で IPC を実行するために、WCF NamedPipesService を使用しています。自分のプロセスだけがアクセスできるように WCF サービスを保護する最も簡単な方法は何ですか?

WCF のドキュメントを調べてみましたが、どれもかなり複雑に見え、クライアント プロセスではなく、主にユーザーの認証に重点を置いているようです。

4

1 に答える 1

2

名前付きパイプのバインディングについて、すぐに使えるものは何も考えられません。ただし、常に回避策があります。

カスタム ヘッダー

IClientMessageInspectorインターフェイスを簡単に実装して、各サービス呼び出しでカスタム認証情報 (たとえば、プロセス キーワードまたはログインとパスワード) を送信できます。次に、 IDispatchMessageInspectorを実装して、サービス側でヘッダーを検証します。ここで、WCF のメッセージ インスペクターの詳細を確認できます。

Windows認証
アプリケーション以外は誰も使用できないwindosアカウントを使用し、そのようなWindows認証を構成します

<security mode="Transport">
   <transport clientCredentialType="Windows" />
</security>

個人的には、カスタム ヘッダーを使用したオプションの方が気に入っていますが、プロセスを認証する必要は本当にありますか? 誰もあなたのサービスにパブリックからアクセスできません。あなたのサービスを攻撃できる組織内の誰かがいると思いますか? あなたのケースでは、それは本当に正しいバインディングではないかもしれません。

于 2013-06-14T12:43:37.287 に答える