Partilhar via


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 Issuerdo .

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 de Identitye 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 um ClaimType de Thumbprint, um Right de PossessProperty e um Resource que é uma matriz de bytes que contém a impressão digital do certificado

    • Declaraçõ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.

Consulte também