2

OperationContext.Current.ClaimsPrincipal設定後、実際のメソッドが呼び出される前に、カスタム コードを少し実行するために使用できるフック、イベント、またはその他の拡張ポイントを探しています。私は以下を使用してみました:

  • IDispatchMessageInspectorAfterReceiveRequest方法)
  • IParameterInspectorBeforeCall方法)
  • IAuthorizationPolicyEvaluate方法)
  • ICallContextInitializerBeforeInvoke方法)

これらのポイントのいずれにもOperationContext.Current.ClaimsPrincipal値はありません。

受信クレームが設定された後、メソッド自体が実行される前に、少しのコード (私の場合は、受信クレームに基づく承認および監査コード) を実行するにはどうすればよいですか?

4

1 に答える 1

1

RP (アプリケーション) での承認コードについては、ClaimsAuthorizationManager を実装して承認チェックを行います。具体的には、CheckAccess メソッドをオーバーライドし、承認チェックに基づいて true/false を返します。ClaimsPrincipal は、CheckAccess メソッドに渡されるコンテキストからアクセスできます。

詳細な背景とサンプルは次のとおりです。

http://msdn.microsoft.com/en-us/library/system.security.claims.claimsauthorizationmanager.aspx

于 2013-03-19T21:39:31.487 に答える