WCF/WIF-我应该在后端找到索赔吗?

WCF/WIF-我应该在后端找到索赔吗?,wcf,wif,claims-based-identity,Wcf,Wif,Claims Based Identity,我有一个ASP.NET应用程序调用WCF服务。 在ASP.NET应用程序中,我调用ADFS执行身份验证,我可以在CurrentPrincipal中看到用户的所有声明。然后我执行WCF服务(wsHttpBinding)的调用,但声明列表为空 原因可能是什么?如果我没有弄错的话,在WCF中有不同的索赔方式 Thread.CurrentPrincipal-简单易用,但需要在配置中进行一些设置,这是最容易被忽略的 <behaviors> <serviceBehaviors>

我有一个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.ClaimsPrincipal-我不记得这是否需要一些配置,但我想您可以直接从调用的方法获得它

OperationContext.ServiceSecurityContext.AuthorizationContext.ClaimSets-需要在配置中添加


注意,我使用了Windows身份基础(WIF)。