2009-08-23 16 views
1

Windowsフォームクライアントが使用する操作を公開するWCFサービスを実装しました。このサービスでは、操作コードが実行される前にプリンシパルIDに基づいてカスタムクレームセットを挿入するカスタムAuthorizationPolicyでクレームベースの承認を使用しています。この操作では、実行するためにクレームセット内に特定のクレームが必要です。クライアントでクレームを取得する

このように、クライアントにカスタムクレームセットを取得する最も良い方法は何ですか?私はクライアントが権限ポリシーに基づいてボタンを有効または無効にするようなことをすることができるように、これが必要です。理想的には、クライアントはフォームロードのような操作を呼び出す前にこの情報を必要とします。では、クライアントがUIの決定に使用できるクレームが設定されたClaimsetオブジェクトを返す特別な操作を作成しますか?それとも、パターンが良くなっていますか?

答えて

1

これは、サーバーへの2回の呼び出しとして実行されます。

最初のものは次のとおりです。ユーザーには権利がありますか?私たちの場合、私たちは権利のリストを送り、それぞれの "正しい"が真または偽とマークされたリストを返します。

クライアントはこの情報を使用してUIを描画します。

実際の通話が着信すると、ユーザーがUIを渡した場合に備えて、その通話を行う権利があることが再確認されます。

+0

Thanks Shiraz。したがって、クレームを評価するための呼び出しは、実装するものです。これを行う方法はありません。私は、作成したサービスメソッドがその呼び出しのClaimSet全体を返すという点を除いて、同様のことをしました。こうすることで、クライアントはサービスのClaimSetをキャッシュでき、追加のサービスコールを必要とせずにいつでもローカルで必要なものを評価できます。 –

+0

はい、クレームを評価するための呼び出しは、私たちが実装しているものです。 –

関連する問題