在 Sharepoint 2013 make spuser 之前从自定义 STS 令牌获取声明

Get claims from custom STS token before sharepoint 2013 make spuser

我正在尝试从我们的自定义 STS 提供的 STS 令牌中获取索赔信息。

当我们的 STS 创建令牌时,它会提供一个电子邮件地址和一个名为 registration number 的自定义字段。

现在我想在 SharePoint 中使用声明,但我无权访问它,因为 SharePoint 从声明中创建了一个 SPUser 对象,而 SPUser 没有名为 registration number 的字段。

如何在 SharePoint 中访问此索赔数据?

这就是我们在共享点代码中的做法

IClaimsPrincipal cp = HttpContext.Current.User as IClaimsPrincipal;
IClaimsIdentity = cp.Identity as IClaimsIdentity;
ClaimCollection claims = ci.Claims;

为了完整起见,这有点做作。我们有扩展方法来帮助我们的索赔处理系统。

您可以找到更多详细信息at the IClaimsPrincipal MSDN page

这 post 帮我解决了这个问题。 http://sharepintblog.com/2011/10/26/adding-additional-claims-to-a-trusted-identity-token-issuer/