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