Mit WIF (Windows Identity Foundation) 4.5 erstellte Microsoft die Klasse WindowsPrincipal
, die eine Art ClaimsPrincipal
ist. Natürlich sind diese Klassen nicht portierbar, aber die Schnittstellen dahinter sind (IPrincipal
). Das gleiche gilt für die ClaimsIndentity
Klasse, die die IIdentity
Schnittstelle implementiert.Wie verwenden Sie IPrincipal und IIdentity in den portablen Klassenbibliotheken?
Das Problem, das ich habe, ist, dass diese Klassen und WIF im Allgemeinen vollständig auf dem Konzept der "Ansprüche" basiert, das ist genial ... aber die beiden Schnittstellen, IPrincipal
und IIdentity
sind nicht. Nicht nur das, aber die Klasse hat auch eine Sammlung von Identitäten anstelle von nur einer einzigen damit verbundenen Identität.
Identity
und IsInRole
Mitglieder.AuthenticationType
, IsAuthenticated
und Name
Mitglieder.Angesichts der Tatsache, dass die Portable Class Libraries nur auf diese beiden Schnittstellen zugreifen können, wie geht man über die tatsächlichen Ansprüche?
Auch in dem seltenen Fall, dass ein Prinzipal mehrere Identitäten hat, wie erhält man die "nicht-primären" Identitäten?
Wie Sie gesagt haben, dass jeder ClaimsPrincipal haben mehrere Identitäten und jede Identität Sammlung von Ansprüchen, so dass Sie auf jede Identität zugreifen können, indem Sie in die Referenzvariable von ClaimsPrincipal gelangen. Wie ClaimsPrincipal.Identities [1] für die zweite nicht primäre Identität –