2017-02-21 5 views
0

iisを持つWindowsサーバー上にc#.net wcf Webサービスがあります。 Webサービスに特定のURLからのリクエストだけを受け入れることができるかどうかを知る方法があるかどうかを知る必要があります。 例: = = ApplicationBをがApplicationAwebServiceを呼び出して動作するはずApplicationAwebServiceを呼び出すApplicationAを今許可されたアプリケーションによってのみアクセスされるWebサービスを保証する

を否定しなければならない、彼らは同じサーバー上のすべてのですが、私は、彼らは別のサーバー(3tier上にある場合でも機能するソリューションを必要としますアプリケーション)。 ありがとう

+0

そして、どのようにあなたのWebサービスを呼び出しているアプリケーションを知っているでしょうか?クライアントのIPアドレスはおそらく? –

答えて

1

WCFを使用している場合は、サービスとクライアント間の相互認証を使用することができます。相互認証は、サーバーが正規のクライアントからの接続を受け入れるセキュリティを実現するだけでなく、クライアントが正規のサーバーと通信していることをクライアントが確認できるようにします。

証明書、Kerberos(Windows認証)、トークン、およびユーザー名/パスワードの設定を使用して、メッセージのセキュリティ(クライアントとサーバーの間で送信されるデータの暗号化、またはその逆)によって相互認証を実現できます。

相互認証もロールベースの認証、アイデンティティ、およびMSDNからのリソースベースの認証

リファレンスを通じてWCFで達成することができます。https://msdn.microsoft.com/en-us/library/ff647503.aspx

+0

情報を読んだ後、私はまだそれが私が探しているものであると確信していません。私はapplicationAとapplicationBとの間の通信だけを許可するwebserviceAが必要です。それらが同じサーバー上にある場合は、すべてがすでにWindows認証であるため、すべてのアクセス権を持ちます。したがって、ApplicationBはwebserviceAを呼び出すことができ、このアクセスを拒否する必要があります。私はそれがオプションかもしれない場合、許可されたアプリケーションのURLを使用することができます。 –

+0

IISを実行している場合はhttp://stackoverflow.com/questions/1075618/limit-access-of-asmx-web-service-to-specific-ip-addressesをチェックしてください – uzr

関連する問題