WCF/WIF-我应该在后端找到声明吗



我有一个ASP.NET应用程序正在调用WCF服务。在ASP.NET应用程序中,我调用ADFS来执行身份验证,并且可以在CurrentPrincipal中看到用户的所有声明。然后,我执行WCF服务(wsHttpBinding)的调用,但声明列表为空。

原因可能是什么?

如果我没有错的话,在WCF中有不同的方法来获得索赔。

Thread.CurrentPrincipal-简单易用,但需要在配置中进行一些设置,这是最容易被忽略的。

<behaviors>
  <serviceBehaviors>
    <behavior name="Test.Services.WifBehavior">
      <serviceCredentials useIdentityConfiguration="true" />
        <!---Set principalPermissionMode to always to pass the ClaimsIdentity info to the Thread.CurrentPrincipal-->
      <serviceAuthorization principalPermissionMode="Always"/>
    </behavior>
  <serviceBehaviors>
</behaviors>

OperationContext.Current.CClaimsPrincipal-我不记得这是否需要一些配置,但我想您可以直接从调用的方法中获得它。

OperationContext.ServiceSecurityContext.AuthenticationContext.CClaimSets-为服务创建一个自定义授权管理器,需要在配置中添加。

请注意,我使用了Windows Identity Foundation(WIF)。

相关内容

  • 没有找到相关文章

最新更新