Revendications et jetons
Cette rubrique décrit les différents types de revendications créés par Windows Communication Foundation (WCF) à partir des jetons par défaut qu’il prend en charge.
Vous pouvez examiner les revendications des informations d'identification d'un client à l'aide des classes ClaimSet et Claim. ClaimSet
contient une collection d'objets Claim
. Chaque Claim
contient les membres importants suivants :
La propriété ClaimType retourne un URI (Uniform Resource Identifier) qui spécifie le type de revendication qui est fait. Par exemple, un type de revendication peut être une empreinte numérique d’un certificat, auquel cas l’URI est
http://schemas.microsoft.com/ws/20005/05/identity/claims/thumprint
.La propriété Right retourne un URI qui spécifie le droit de la revendication. Les droits prédéfinis sont regroupés dans la classe Rights (Identity, PossessProperty).
La propriété Resource retourne la ressource associée à la revendication.
Chaque ClaimSet a également une propriété Issuer, qui représente le ClaimSet de l'Issuer
.
Comptes Windows
Si les informations d'identification d'un client correspondent à un compte d'utilisateur Windows, le ClaimSet qui en résulte a les valeurs suivantes :
L'
Issuer
est la valeur retournée par la propriété Windows statique de la classe ClaimSet.Les revendications de la collection sont les suivantes :
Claim avec une propriété ClaimType dont la valeur est l'identificateur de sécurité (SID), une propriété Right dont la valeur est
Identity
et une propriété Resource qui retourne la valeur SID réelle. Un SID est une valeur unique que le contrôleur de domaine émet pour chaque utilisateur. Il est utilisé pour identifier l'utilisateur dans ses interactions avec la sécurité Windows.Claim avec une propriété ClaimType dont la valeur est le SID, une propriété Right dont la valeur est
PossessProperty
et une propriété Resource de la valeur du SID.Claim avec une propriété ClaimType dont la valeur est Name, une propriété Right dont la valeur est
PossessProperty
et une propriété Resource de la chaîne contenant le nom d'utilisateur (par exemple, « MONORDINATEUR\Bob »).Revendications SID supplémentaires avec propriété PossessProperty pour les différents groupes auxquels l'utilisateur appartient.
Certificats
Si les informations d'identification du client sont un certificat, le ClaimSet qui en résulte a les valeurs suivantes :
Pour les certificats auto-émis, l'
Issuer
est le ClaimSet lui-même. ClaimSet retourne une propriété ClaimType dont la valeur est Thumbprint, une propriété Right dont la valeur estIdentity
et une propriété Resource dont la valeur est un tableau Byte contenant l'empreinte numérique du certificat.Pour un certificat émis par une autorité de certification, l'émetteur est le
ClaimSet
qui représente le certificat de l'autorité de certification.Les
Claims
de la collection sont les suivantes :Claim
dont leClaimType
est Empreinte numérique, unRight
PossessProperty et uneResource
qui est un tableau d'octets contenant l'empreinte numérique du certificat.Revendications PossessProperty supplémentaires de différents types, notamment X500DistinguishedName, Dns, Name, Upn et Rsa, qui représentent différentes propriétés du certificat. La ressource de la revendication Rsa est la clé publique associée au certificat. Remarque Si le type d’informations d’identification du client est un certificat que le service mappe sur un compte Windows, deux objets
ClaimSet
sont générés. Le premier contient toutes les revendications relatives au compte Windows et le second contient toutes les revendications en rapport avec le certificat.
Nom d'utilisateur/mot de passe
Si les informations d'identification du client sont un nom d'utilisateur/mot de passe (ou équivalent) qui ne correspondent pas à un compte Windows, le ClaimSet
qui en résulte est émis par la propriété System statique de la classe ClaimSet
. Le ClaimSet
contient une revendication Identity
de type Name dont la ressource est le nom d’utilisateur fourni par le client. Une revendication correspondante a un Right
de PossessProperty
.
Clés RSA
Lorsqu’une clé RSA non associée à un certificat est utilisée, le ClaimSet
qui en résulte est auto-publié et contient une revendication Identity
de type Rsa dont la ressource est la clé RSA. Une revendication correspondante a un Right
de PossessProperty
.
SAML
Si le client s'authentifie avec un jeton SAML (Security Assertions Markup Language), le ClaimSet
qui en résulte est émis par l'entité qui a signé le jeton SAML, souvent le certificat du service STS (Security Token Service) qui a émis le jeton SAML. Le ClaimSet
contient différentes revendications présentes dans le jeton SAML. Si le jeton SAML contient un SamlSubject
avec un nom non null
, une revendication Identity
de type NameIdentifier et une ressource de type SamlNameIdentifierClaimResource sont alors créées.
Revendications d'identité et ServiceSecurityContext.IsAnonymous
Si aucun des objets résultant des ClaimSet
informations d’identification du client ne contient une revendication avec un Right
, Identity
la IsAnonymous propriété retourne true
. En présence d'une ou plusieurs revendications de ce type, la propriété IsAnonymous
retourne false
.