シナリオ:私たちは、ファイアウォール/ DMZ内のデータベースにリンクするWCF Webサービスを開発しているWCF - CMSでのWebコントロールを使用してクライアントのセキュリティ
。 Webサービスとクライアントアプリケーション(データキャプチャWebフォーム)は、インターネットに面したWebサーバー上でホストされる必要があります。これは、サードパーティのCMS(主なWebサイトをホストする)によってホストされるWebコントロールによってアクセスされる必要があるためです。
問題:
私たちは、データを確実にしたいのようしっかりできるだけ渡すことができますが、我々は自分自身と私たちのCMSプロバイダ間の共有証明書(またはその逆)については慎重になります。 Webコントロールがhttpsとしてホストされていることを望みますが、私が読んだすべてのドキュメントでは、証明書を認証する必要があることがわかります。私は追加のカスタムセキュリティをクライアントとsvc(カスタムバインド、コードで適用されるユーザー名/パスワード、IPアドレスによる呼び出しを制限する)の間に適用することを検討していましたが、他の誰かがこのシナリオを遭遇したかどうかを知りたかったのです。
第三者がアプリケーションのWebコントロールをホストしているのに、今のところ私は「それが証明書か何もない」コメントだけをオンラインで見つけたときにカスタムセキュリティを適用する例があるはずです。どんな助けや指導も大変ありがたいです。これまでに閲覧多くのリンクの
例は次のとおりです。
私が提案した設定を適用するために見てきました例えば<wshttpBinding>
と<serviceCredentials>
の下に、カスタムのユーザー名とパスワードのバリデーターを格納する新しい 'Secure'クラスを追加しましたが、"svc ...継承されたメンバーを実装していません..." errors。
<wsHttpBinding>
<binding name="EndpointBinding">
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="None"/>
<message clientCredentialType="UserName"/>
</security>
</binding>
</wsHttpBinding>
<serviceCredentials>
<userNameAuthentication
userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="My.WcfSvc.Authentication.Secure,
My.WcfSvc" />
</serviceCredentials>