Reclamações e Tokens
Este tópico descreve os vários tipos de declaração que o Windows Communication Foundation (WCF) cria a partir dos tokens padrão suportados.
Você pode examinar as declarações de uma credencial de cliente usando as ClaimSet classes e Claim . O ClaimSet
contém uma coleção de Claim
objetos. Cada um Claim
tem os seguintes membros importantes:
A ClaimType propriedade retorna um URI (Uniform Resource Identifier) que especifica o tipo de declaração que está sendo feita. Por exemplo, um tipo de declaração pode ser uma impressão digital de um certificado, caso em que o URI é
http://schemas.microsoft.com/ws/20005/05/identity/claims/thumprint
.A Right propriedade retorna um URI que especifica o direito da declaração. Os direitos predefinidos são encontrados na Rights classe (Identity, PossessProperty).
A Resource propriedade retorna o recurso associado à declaração.
Cada ClaimSet um também tem uma Issuer propriedade, que representa o ClaimSet Issuer
do .
Contas do Windows
Quando uma credencial de cliente é mapeada para uma conta de usuário do Windows, o resultado ClaimSet tem os seguintes valores:
O
Issuer
é o valor retornado pela propriedade estática Windows da ClaimSet classe.Os créditos na coleção são:
A Claim com um ClaimType valor de identificador de segurança (SID), um Right valor de propriedade de
Identity
, e um Resource que retorna o valor SID real. Um SID é um valor exclusivo que o controlador de domínio emite para cada usuário. O SID é usado para identificar o usuário em interações com a segurança do Windows.A Claim com um ClaimType valor de SID, a Right de
PossessProperty
, e a Resource do valor SID.A Claim com um ClaimType de Name, um Right de
PossessProperty
e um Resource de string contendo o nome de usuário (por exemplo, "MYMACHINE\Bob").Declarações SID adicionais com PossessProperty para os vários grupos aos quais o usuário pertence.
Certificados
Onde a credencial do cliente é um certificado, o resultado ClaimSet tem os seguintes valores:
Para certificados auto-emitidos, o
Issuer
é o ClaimSet próprio. O ClaimSet retorna a ClaimType de Thumbprint, a Right deIdentity
e um Resource valor que é uma Byte matriz que contém a impressão digital do certificado.Para um certificado emitido por uma autoridade de certificação, o emissor é o
ClaimSet
representante do certificado da autoridade de certificação.Os
Claims
na coleção incluem:A
Claim
com umClaimType
de Thumbprint, umRight
de PossessProperty e umResource
que é uma matriz de bytes que contém a impressão digital do certificadoDeclarações adicionais PossessProperty de vários tipos, incluindo X500DistinguishedName, Dns, Name, Upn e Rsa, representam várias propriedades do certificado. O recurso para a declaração Rsa é a chave pública associada ao certificado.Observação Onde o tipo de credencial do cliente é um certificado que o serviço mapeia para uma conta do Windows, dois
ClaimSet
objetos são gerados. O primeiro contém todas as declarações relacionadas à conta do Windows e o segundo contém todas as declarações relacionadas ao certificado.
Nome de Utilizador/Palavra-passe
Quando a credencial do cliente é um nome de usuário/senha (ou equivalente) que não é mapeado para uma conta do Windows, o resultado ClaimSet
é emitido pela propriedade estática System da ClaimSet
classe. O ClaimSet
contém uma Identity
declaração do tipo Name cujo recurso é o nome de usuário que o cliente fornece. Uma reivindicação correspondente tem um Right
de PossessProperty
.
Chaves RSA
Quando uma chave RSA não associada a um certificado é usada, o resultado ClaimSet
é auto-emitido e contém uma Identity
declaração do tipo Rsa cujo recurso é a chave RSA. Uma reivindicação correspondente tem um Right
de PossessProperty
.
SAML
Quando o cliente se autentica com um token SAML (Security Assertions Markup Language), o resultado ClaimSet
é emitido pela entidade que assinou o token SAML, geralmente o certificado do serviço de token de segurança (STS) que emitiu o token SAML. O contém várias declarações, ClaimSet
conforme encontrado no token SAML. Se o token SAML contiver um SamlSubject
com um não-nomenull
, então uma Identity
declaração com um tipo de e um tipo de NameIdentifier recurso de SamlNameIdentifierClaimResource são criados.
Declarações de identidade e ServiceSecurityContext.IsAnonymous
Se nenhum dos ClaimSet
objetos resultantes das credenciais do cliente contiver uma declaração com um Right
de Identity
, a IsAnonymous propriedade retornará true
. Se uma ou mais dessas reivindicações estiverem presentes, a IsAnonymous
propriedade retorna false
.