在* OperationContext.Current.ClaimsPrincipal设置之后,是否存在* WCF的事件或挂钩?

时间:2013-03-19 18:16:25

标签: wcf security hook

我正在寻找一个钩子,事件或其他一些可扩展点,我可以在设置OperationContext.Current.ClaimsPrincipal之后但在调用实际方法之前运行一些自定义代码。我尝试过使用以下内容:

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

OperationContext.Current.ClaimsPrincipal没有一个点具有值。

如果在设置传入声明之后,但在方法本身运行之前,如何运行一些代码(在我的情况下,它是基于传入声明的授权和审核代码)?

1 个答案:

答案 0 :(得分:1)

对于RP(您的应用程序)的授权代码,请实施ClaimsAuthorizationManager以进行授权检查。具体来说,覆盖CheckAccess方法并根据您的授权检查返回true / false。 ClaimsPrincipal可以从传递给CheckAccess方法的上下文中访问。

更多背景和样本在这里:

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