現在直面している課題について、何らかの意見を求めています。
私のシステムが提供するいくつかの WCF サービスを呼び出したいユーザーを識別するために使用するカスタム WIF STS を作成しました。WCF サービスは、呼び出し元が特定のサービスを呼び出すために必要なクレームを持っているかどうかを判断するカスタム承認マネージャーを使用します。
今、私はWPFアプリを構築しています。これらの WCF サービスの上に。ビュー モデルが保護された WCF サービス (モデルを実装する) を呼び出すように、MVVM パターンを使用しています。私が直面している課題は、現在のユーザーが Web サービス メソッドを実際に呼び出さずに正常に呼び出すことができるかどうかわからないことです。基本的に、私が達成したいのは、メソッドを正常に呼び出す機能に基づいて、UI の特定の部分を有効/無効にすることです。
これまでに思いついた最善の解決策は、カスタム承認ポリシー マネージャーと同じビジネス ロジックに基づいて、ユーザーが特定のメソッドを呼び出すことができるかどうかを判断できるサービスを作成することです。ここで、メソッドはこのサービスに文字列、または実際には ServiceAddress と Method (Action) の 2 つの文字列として渡す必要があり、その入力に基づいて、サービスは現在のユーザーがアクセスに必要なクレームを持っているかどうかを判断できます。メソッド。明らかに、これが機能するためには、このサービス自体が同じ STS から発行されたトークンを要求し、同じクレームを使用して、その仕事を行う必要があります。
過去に似たようなことをした人はいますか、それともこれを行う方法について何か良いアイデアはありますか?
前もって感謝します、
クラウス