私は一日中WCFのセキュリティについて読んでいて、それが快適だとは言えません。
いくつかのWCFサービスを開発し、それらをテストサーバーに展開して、クライアントから呼び出すことができます。両側C#/VS2010。サービスはIIS6でホストされています。現時点では、より新しいオプションはありません。
つまり、HTTPはIIS 6でしか使用できないことを読みました。これにより、バインディングとしてbasicHttpBindingまたはwsHttpBindingに制限されると思います。
また、wsHttpBindingを使用してネットワーク経由で送信されるXMLは暗号化されていますが、basicHttpBindingは暗号化されていないことも読みました。
したがって、ある種の認証が必要であり、ユーザー名/パスワードが着信メッセージとともに渡されると思われるため、wsHttpBindingを使用したいようです。
最初の質問は、wsHttpBindingを使用する場合、クライアントはhttpsを使用して呼び出す必要がありますか?そして、サーバー上の証明書などについて心配する必要がありますか?
2番目の質問は-私が利用できるセキュリティオプションは何ですか?発信者はサーバー上のWindowsユーザーである必要がありますか、それとも自分のユーザー名/パスワードを作成して、サービスとサービスのその部分に検証を行わせ、Windowsユーザーとは関係がないようにすることはできますか?Windowsユーザーと一緒に行く必要がある場合、サーバーに1つのユーザーアカウントを設定し、すべての発信者にそれを使用させるのが一般的だと思いますか?
基本的な考え方は、このサービスを選択した発信者に公開する必要があるということですが、誰もがサービスを見つけて呼び出すことができるようにしたくはありません。誰がサービスを呼び出すかをなんとかして制御する必要があります。ユーザー名/パスワードはこれを行うための標準的な方法ですか?たとえば、すべての呼び出し元が渡さなければならないGUIDを定義できますか?