Claim Classe

Definição

Representa uma declaração.

public ref class Claim
public class Claim
[System.Serializable]
public class Claim
type Claim = class
[<System.Serializable>]
type Claim = class
Public Class Claim
Herança
Claim
Atributos

Exemplos

O exemplo a seguir extrai as declarações associadas ao usuário autenticado que executa uma solicitação HTTP e as grava na resposta HTTP. O usuário atual é lido do HttpContext como um ClaimsPrincipal e as declarações são lidas dele. Em seguida, as declarações são gravadas no HttpResponse objeto .

ClaimsPrincipal principal = HttpContext.Current.User as ClaimsPrincipal;  
if (null != principal)  
{  
   foreach (Claim claim in principal.Claims)  
   {  
      Response.Write("CLAIM TYPE: " + claim.Type + "; CLAIM VALUE: " + claim.Value + "</br>");  
   }  

}  

Comentários

Uma declaração é uma declaração sobre um assunto por um emissor. As declarações representam atributos do assunto que são úteis no contexto de operações de autenticação e autorização. Entidades e emissores são entidades que fazem parte de um cenário de identidade. Alguns exemplos típicos de um assunto são: um usuário, um aplicativo ou serviço, um dispositivo ou um computador. Alguns exemplos típicos de um emissor são: o sistema operacional, um aplicativo, um serviço, um provedor de funções, um provedor de identidade ou um provedor de federação. Um emissor entrega declarações emitindo tokens de segurança, normalmente por meio de um STS (Serviço de Token de Segurança). (No WIF, você pode criar um STS derivando da SecurityTokenService classe .) Às vezes, a coleção de declarações recebidas de um emissor pode ser estendida por atributos de entidade armazenados diretamente no recurso. Uma declaração pode ser avaliada para determinar os direitos de acesso a dados e outros recursos protegidos durante o processo de autorização e também pode ser usada para tomar ou expressar decisões de autenticação sobre um assunto.

A partir do .NET 4.5, as classes do WIF (Windows Identity Foundation), que implementam a identidade baseada em declarações, foram totalmente integradas ao .NET Framework. O conceito de declarações é implementado pela Claim classe .

O seguinte descreve propriedades importantes da Claim classe :

  • A Type propriedade é uma cadeia de caracteres (normalmente um URI) que contém as informações semânticas sobre a declaração; ela informa o que significa o valor da declaração. Por exemplo, uma declaração com um tipo de declaração de GivenName ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname") representa o nome de um usuário. O valor da Type propriedade pode ser um dos tipos de declaração conhecidos definidos na ClaimTypes classe ou pode ser um URI arbitrário, conforme definido pelo emissor. Por exemplo, um tipo de declaração "urn:spendinglimit" pode representar um atributo de usuário que faz sentido dentro do contexto de negócios do emissor.

  • A Value propriedade contém o valor da declaração. Para reduzir dependências e simplificar a administração, no WIF, o valor de uma declaração é representado apenas como uma cadeia de caracteres. Para tipos de valor mais complexos, é recomendável que você use tipos de esquema XML padrão para indicar como o valor deve ser serializado e desserializado de uma cadeia de caracteres.

  • A ValueType propriedade contém uma cadeia de caracteres que identifica as informações de tipo para o valor. Essa propriedade deve ser usada para entender o formato do valor e fornecer informações sobre como desserializá-lo. Se sua solução exigir tipos de valor complexos, é recomendável que você use tipos de esquema XML padrão na ValueType propriedade para indicar como a Value propriedade deve ser serializada e desserializada de uma cadeia de caracteres.

  • A Subject propriedade é um ClaimsIdentity objeto que representa o assunto da declaração. O assunto da declaração é a entidade (normalmente o usuário que está solicitando acesso a um recurso) sobre a qual a declaração é declarada. O ClaimsIdentity contém, entre suas propriedades, uma coleção de declarações que descrevem as propriedades e os atributos da entidade como atestados por um ou mais emissores.

  • A Issuer propriedade contém o nome da entidade que emitiu a declaração. O emissor de uma declaração é representado no WIF por uma cadeia de caracteres que contém um nome obtido de uma lista de emissores conhecidos que é mantido pelo registro de nome do emissor. O registro de nome do emissor é uma instância de uma classe derivada da IssuerNameRegistry classe . O registro de nome do emissor associa um nome mnemônico ao material criptográfico necessário para verificar as assinaturas de tokens produzidos pelo emissor correspondente. Por exemplo, a ConfigurationBasedIssuerNameRegistry classe , disponível pronta para uso com o .NET 4.5, associa o nome mnemônico para cada emissor ao certificado X.509 correspondente. A lista de emissores conhecidos normalmente é criada no momento da inicialização pelo registro de nome do emissor. A lista usada pelo ConfigurationBasedIssuerNameRegistry é especificada no arquivo de configuração do aplicativo.

  • A OriginalIssuer propriedade contém o nome da entidade que originalmente emitiu a declaração. Essa propriedade foi projetada para facilitar cenários em que uma declaração pode passar por vários emissores antes de ser apresentada pelo cliente ao aplicativo RP; como cenários de federação. Você pode examinar a OriginalIssuer propriedade para determinar a entidade que originalmente emitiu a declaração. O nome é obtido da lista de emissores conhecidos mantidos pelo registro de nome do emissor, como no caso da Issuer propriedade .

Construtores

Claim(BinaryReader)

Inicializa uma instância de Claim com o BinaryReader especificado.

Claim(BinaryReader, ClaimsIdentity)

Inicializa uma nova instância da classe Claim com o assunto e o leitor especificados.

Claim(Claim)

Inicializa uma nova instância da classe Claim.

Claim(Claim, ClaimsIdentity)

Inicializa uma nova instância da classe Claim com o assunto e a declaração de segurança especificados.

Claim(String, String)

Inicializa uma nova instância da classe Claim com o tipo de declaração e o valor especificados.

Claim(String, String, String)

Inicializa uma nova instância da classe Claim com o tipo de declaração, o valor e o tipo de valor especificados.

Claim(String, String, String, String)

Inicializa uma nova instância da classe Claim com o tipo de declaração, o valor, o tipo de valor e o emissor especificados.

Claim(String, String, String, String, String)

Inicializa uma nova instância da Claim classe com o tipo de declaração, o valor, o tipo de valor, o emissor e o emissor original especificados.

Claim(String, String, String, String, String, ClaimsIdentity)

Inicializa uma nova instância da classe Claim com o tipo de declaração, o valor, o tipo de valor, o emissor, o emissor original e o assunto especificados.

Propriedades

CustomSerializationData

Contém quaisquer dados adicionais fornecidos por um tipo derivado.

Issuer

Obtém o emissor da declaração.

OriginalIssuer

Obtém o emissor original da declaração.

Properties

Obtém um dicionário que contém propriedades adicionais associadas a essa declaração.

Subject

Obtém o assunto da declaração.

Type

Obtém o tipo de declaração da declaração.

Value

Obtém o valor da declaração.

ValueType

Obtém o tipo de valor da declaração.

Métodos

Clone()

Retorna um novo objeto Claim copiado deste objeto. A nova declaração não tem um assunto.

Clone(ClaimsIdentity)

Retorna um novo objeto Claim copiado deste objeto. O assunto da nova declaração é definido como o ClaimsIdentity especificado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres desse objeto Claim.

WriteTo(BinaryWriter)

Grava este Claim no gravador.

WriteTo(BinaryWriter, Byte[])

Grava este Claim no gravador.

Aplica-se a

Confira também