私はWCFサービスを設計してテストし、SOAP Webサービスとして公開しています。WCFの異なるサービス操作のための異なるセキュリティ
私はサービスクラスを論理的に分割しました。私はアカウントサービスを持っています。アカウントWebサービスにアクセスするには、ユーザー名とパスワードとAPIトークンを入力する必要があります。私は、認証を気にするためにUserNamePasswordValidatorを拡張するカスタムクラスと、トークンをチェックするためのIDispatchMessageInspectorを書きました。
ユーザーが認証されていない状態でいくつかのアカウントチェックを提供する必要があるところです。論理的には、これらの操作はアカウントサービスに残ります。ただし、サービスBehaviorはusername、passwordを必要とするように設定されており、IDispatchMessageInspectorを追加するIServiceBehaviorがあり、トークンのすべてのマッサージをチェックします。
私はExtending Dispatchers - MicrosoftとWCF Extensibility - Carlos Figueira
を経由してさまざまな拡張ポイントのすべてを見直してきた私は、唯一の操作レベルでセキュリティを適用する方法を見つけるように見えることができます。あるいは、特定の機能がセキュリティ/トークンを必要とするようにサービスを構成する方法や、そうでないものもあります。
私はWCFを初めて使っているので、シンプルなものかもしれませんが、見つけられませんでした。さまざまな方法でサービスのさまざまな部分を確保する方法を示す記事が分かっている場合、または方法を知っている場合は、情報を提供してください。ありがとうございました。
このため、セキュリティなしで、または異なるセキュリティ設定を使用して別個のエンドポイント( '無料' /公共サービス)を作成することができます – SalientBrain
どのようにしてそのエンドポイントの操作を制限できますか?認証がない場合は、呼び出すことができるものを制限したい。 – Allan
メインとは異なる特別なインターフェースを持つエンドポイントを公開します(制限付き操作のみ) – SalientBrain