在 WIF(Windows Identity Foundation)4.5 中,Microsoft 创建了WindowsPrincipal该类,它是ClaimsPrincipal. 当然,这些类是不可移植的,但它们背后的接口是 ( IPrincipal)。实现接口的ClaimsIndentity类也是如此。IIdentity
我遇到的问题是这些类和 WIF 通常完全基于“声明”的概念,这太棒了……但是这两个接口IPrincipal并IIdentity没有。不仅如此,ClaimsPrincipal该类还具有一组身份,而不仅仅是与其关联的单个身份。
- IPrincipal 拥有
Identity和IsInRole成员。 - IIidentity 有
AuthenticationType、IsAuthenticated和Name成员。
鉴于可移植类库只能访问这两个接口这一事实,如何获得实际声明?
此外,在主体具有多个身份的罕见情况下,如何获得“非主要”身份?