SharePoint 2013上的ClaimsPrincipal与IClaimsPrincipal会产生不同的声明

时间:2017-07-18 20:17:34

标签: .net sharepoint wif claims-based-identity

我正在使用部署到SharePoint 2013的.NET 4.5 WCF服务,该服务使用ADFS提供自定义声明。在服务中,我想提取声明,但我看到不同的结果取决于我是使用System.IdentityModel类还是Microsoft.IdentityModel类。例如:

以下.NET 4.5代码:

     var claimsIdentity = ClaimsPrincipal.Current.Identity as ClaimsIdentity;

在claimsIdentity.Claims

中产生一项

下面的“旧”WIF代码(使用IClaimsPrincipal)

     var claimsPrincipal = HttpContext.Current.User as IClaimsPrincipal;
     var claimsIdentity = claimsPrincipal.Identity as IClaimsIdentity;

在claimIdentity中提出13项索赔。声明

如何使用.NET 4.5中的“新”WIF集成访问IClaimsIdentity可以看到的其他声明。由于与Microsoft.IdentityModel.Tokens的命名空间冲突,我想使用SecurityTokenDescriptor并且不能这样做(与IClaimsPrincipal结合),问题实际上变得更糟。

0 个答案:

没有答案