2017-10-29 5 views
0

WCFサービスを作成し、コンソールアプリケーションでホストしました。私はそのWCFサービスと通信する2つのクライアントアプリケーションを持っています。今では3つのクライアントをこのWCFサービスに接続するように制限したいと考えています。WCFサービスのクライアント接続を制限する

3番目のクライアントのサーバー側で接続を拒否する方法はありますか。 クライアントで確立する前にサーバーが接続を検証できる方法はありますか?

サーバー側のコード

Uri httpBaseAddress = new Uri("net.pipe://localhost/ServiceHost/ServiceHost"); 
studentServiceHost.AddServiceEndpoint(typeof(StudentService.IStudentService), binding, httpBaseAddress); 
studentServiceHost.Open() 
+0

クライアントのIPは静的ですか。 –

+0

はい、URLは静的です。サービスとクライアントの両方が同じマシンで実行されています – user3106005

+0

同じマシンですが、Shiraz bhaijiはSoapヘッダーを使用する必要があると提案しました。したがって、キーを渡すことができ、値に基づいてクライアントを区別することができます。 –

答えて

1

あなたはバインディングのMaxConnectionsを属性を使用することができると同時に、サービスへの接続から3つのクライアントを停止する場合は、場合2.

に設定します特定のクライアントのみがあなたのサービスにアクセスすることができます。次に、認証を設定する必要があります。WCF self hosting require authentication

+0

はい、実際には、マイクロソフトの攻撃面分析ツールでは、名前付きパイプがセキュリティリスクとして検出され、「ACLを強化する」ことを推奨しています。 – user3106005

関連する問題