Deklarace a tokeny
Toto téma popisuje různé typy deklarací identity, které windows Communication Foundation (WCF) vytváří z výchozích tokenů, které podporuje.
Deklarace identity přihlašovacích údajů klienta můžete prozkoumat pomocí těchto ClaimSet a Claim tříd. Obsahuje ClaimSet
kolekci Claim
objektů. Každý z nich Claim
má následující důležité členy:
Vlastnost ClaimType vrátí identifikátor URI (Uniform Resource Identifier), který určuje typ deklarace identity. Například typ deklarace identity může být kryptografický otisk certifikátu, v takovém případě je
http://schemas.microsoft.com/ws/20005/05/identity/claims/thumprint
identifikátor URI .Vlastnost Right vrátí identifikátor URI, který určuje právo deklarace identity. Předdefinovaná práva se nacházejí ve Rights třídě (Identity, PossessProperty).
Vlastnost Resource vrátí prostředek přidružený k deklaraci identity.
Každý ClaimSet má také vlastnost, která představuje ClaimSet Issuer
.Issuer
Účty Systému Windows
Pokud se přihlašovací údaje klienta mapuje na uživatelský účet Systému Windows, výsledek ClaimSet má následující hodnoty:
Je
Issuer
hodnota vrácená statickou vlastností ClaimSet Windows třídy.Deklarace identity v kolekci jsou:
A Claim s ClaimType hodnotou identifikátoru zabezpečení (SID), Right hodnotou
Identity
vlastnosti a Resource hodnotou, která vrátí skutečnou hodnotu SID. Identifikátor SID je jedinečná hodnota, kterou řadič domény vydává každému uživateli. Identifikátor SID slouží k identifikaci uživatele v interakcích se zabezpečením Windows.A Claim s ClaimType hodnotou IDENTIFIKÁTORu SID, hodnoty Right
PossessProperty
a Resource hodnoty SID.A Claim s řetězcem NameClaimType obsahujícím Right
PossessProperty
Resource uživatelské jméno (například "MYMACHINE\Bob").Další deklarace identity IDENTIFIKÁTORů SID pro PossessProperty různé skupiny, ke kterým uživatel patří.
Certifikáty
Pokud jsou přihlašovací údaje klienta certifikátem, výsledek ClaimSet má následující hodnoty:
Pro certifikáty vystavené svým držitelem je to
Issuer
sám ClaimSet . Vrátí ClaimSet ClaimType hodnotu , a Right ofIdentity
Thumbprinta Resource hodnotu, která je Byte pole obsahující kryptografický otisk certifikátu.U certifikátu vydaného certifikační autoritou je
ClaimSet
vystavitelem certifikát certifikační autority.Mezi
Claims
kolekce patří:A
Claim
with aClaimType
of Thumbprint, a ofRight
PossessProperty, andResource
that is a that is a byte array containing the thumbprint of the certificateDalší deklarace identity PossessProperty různých typů, včetně X500DistinguishedName, Dns, Name, Upn a Rsa, představují různé vlastnosti certifikátu. Prostředek pro deklaraci identity Rsa je veřejný klíč přidružený k certifikátu.Poznámka: Kde typ přihlašovacích údajů klienta je certifikát, který služba mapuje na účet Systému Windows, jsou generovány dva
ClaimSet
objekty. První obsahuje všechny deklarace identity související s účtem Windows a druhá obsahuje všechny deklarace identity související s certifikátem.
Uživatelské jméno a heslo
Pokud přihlašovací údaje klienta jsou uživatelské jméno nebo heslo (nebo ekvivalentní), které se nemapují na účet Systému Windows, výsledek ClaimSet
je vystaven statickým System vlastnostem ClaimSet
třídy. Identity
Obsahuje ClaimSet
deklaraci typuName, jejíž prostředek je uživatelské jméno, které klient poskytuje. Odpovídající deklarace identity má Right
PossessProperty
Klíče RSA
Pokud se používá klíč RSA, který není přidružený k certifikátu, výsledek ClaimSet
je vystavený samostatně a obsahuje Identity
deklaraci typu Rsa , jejíž prostředek je klíčem RSA. Odpovídající deklarace identity má Right
PossessProperty
SAML
Pokud se klient ověřuje pomocí tokenu SAML (Security Assertions Markup Language), výsledek ClaimSet
vydává entita, která podepsala token SAML, často certifikát služby tokenů zabezpečení (STS), která vydala token SAML. Obsahuje ClaimSet
různé deklarace identity, které najdete v tokenu SAML. Pokud token SAML obsahuje nenázvový SamlSubject
null
název, vytvoří Identity
se deklarace identity s typem NameIdentifier prostředku a typem SamlNameIdentifierClaimResource prostředku.
Deklarace identity a ServiceSecurityContext.IsAnonymous
Pokud žádný z objektů vyplývajících ClaimSet
z přihlašovacích údajů klienta neobsahuje deklaraci identity s parametrem Right
Identity
, IsAnonymous vrátí true
vlastnost . Pokud existují některé takové deklarace identity, IsAnonymous
vrátí false
vlastnost .