Claim Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa uma reclamaçã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 seguinte extrai as reivindicações associadas ao utilizador autenticado que realiza um pedido HTTP e escreve-as na resposta HTTP. O utilizador atual é lido a partir do HttpContext como a ClaimsPrincipal e as reivindicações são lidas a partir dele. As reivindicações são então escritas 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>");
}
}
Observações
Uma reclamação é uma declaração sobre um assunto feita por um emissor. As reivindicações representam atributos do sujeito que são úteis no contexto de operações de autenticação e autorização. Sujeitos e emissores são ambos entidades que fazem parte de um cenário de identidade. Alguns exemplos típicos de um assunto são: um utilizador, uma aplicação ou serviço, um dispositivo ou um computador. Alguns exemplos típicos de um emissor são: o sistema operativo, uma aplicação, um serviço, um fornecedor de papéis, um fornecedor de identidade ou um fornecedor de federação. Um emissor apresenta reivindicações emitindo tokens de segurança, normalmente através de um Serviço de Token de Segurança (STS). Por vezes, a coleção de reivindicações recebidas de um emissor pode ser alargada por atributos sujeitos armazenados diretamente no recurso. Uma reivindicação pode ser avaliada para determinar direitos de acesso a dados e outros recursos seguros durante o processo de autorização e também pode ser usada para tomar ou expressar decisões de autenticação sobre um sujeito.
A partir do .NET Framework 4.5, as classes Windows Identity Foundation (WIF), que implementam identidade baseada em reclamações, foram totalmente integradas no .NET Framework. O conceito de reivindicações é implementado pela Claim classe.
Segue-se a descrição das propriedades importantes da Claim classe:
A Type propriedade é uma cadeia de caracteres (tipicamente um URI) que contém a informação semântica sobre a reivindicação; indica-lhe o valor da reivindicação. Por exemplo, uma reivindicação com um tipo de reivindicação (GivenName
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname") representa o primeiro nome de um utilizador. O valor da Type propriedade pode ser um dos tipos de reivindicações bem conhecidos definidos na ClaimTypes classe, ou pode ser um URI arbitrário conforme definido pelo emissor. Por exemplo, um tipo de reclamação "urn:spendinglimit" pode representar um atributo de utilizador que faz sentido no contexto empresarial do emissor.A Value propriedade contém o valor da reivindicação. Para reduzir dependências e simplificar a administração, no WIF o valor de uma reivindicação é representado apenas como uma cadeia. Para tipos de valor mais complexos, recomenda-se que utilize tipos de esquema XML padrão para indicar como o valor deve ser serializado e desserializado a partir de uma cadeia.
A ValueType propriedade contém uma cadeia que identifica a informação do tipo para o valor. Esta propriedade deve ser usada para compreender o formato do valor e fornecer informações sobre como o desserializar. Se a sua solução exigir tipos de valor complexos, recomenda-se que utilize tipos padrão de esquema XML na ValueType propriedade para indicar como a Value propriedade deve ser serializada e desserializada a partir de uma cadeia.
A Subject propriedade é um ClaimsIdentity objeto que representa o sujeito da reivindicação. O sujeito da reclamação é a entidade (normalmente o utilizador que solicita acesso a um recurso) sobre a qual a reivindicação é invocada. Contém ClaimsIdentity , entre as suas propriedades, uma coleção de reivindicações que descrevem as propriedades e atributos do sujeito, conforme atestados por um ou mais emissores.
A Issuer propriedade contém o nome da entidade que emitiu a reclamação. O emitente de uma reivindicação é representado na WIF por uma cadeia que contém um nome retirado de uma lista de emissores bem conhecidos mantida pelo registo de nomes do emissor. O registo de nomes do emissor é uma instância de uma classe que deriva dessa IssuerNameRegistry classe. O registo de nomes do emissor associa um nome mnemónico ao material criptográfico necessário para verificar as assinaturas dos tokens produzidos pelo emissor correspondente. Por exemplo, a classe ConfigurationBasedIssuerNameRegistry, disponível de fábrica com .NET 4.5, associa o nome mnemónico de cada emissor ao respetivo certificado X.509. A lista de emissores conhecidos é normalmente construída no momento de arranque pelo registo de nomes do emissor. A lista usada pelo ConfigurationBasedIssuerNameRegistry é especificada no ficheiro de configuração da aplicação.
A OriginalIssuer propriedade contém o nome da entidade que originalmente emitiu a reivindicação. Esta propriedade foi concebida para facilitar cenários em que uma reclamação pode passar por vários emissores antes de ser apresentada pelo cliente à aplicação RP; como cenários de federação. Pode examinar a OriginalIssuer propriedade para determinar a entidade que originalmente emitiu a reclamação. O nome é retirado da lista de emissores conhecidos mantida pelo registo de nomes do emitente, como no caso da Issuer propriedade.
Construtores
| Name | Descrição |
|---|---|
| Claim(BinaryReader, ClaimsIdentity) |
Inicializa uma nova instância da Claim classe com o leitor e o sujeito especificados. |
| Claim(BinaryReader) |
Inicializa uma instância de Claim com o especificado BinaryReader. |
| Claim(Claim, ClaimsIdentity) |
Inicializa uma nova instância da Claim classe com a reivindicação de garantia e sujeito especificados. |
| Claim(Claim) |
Inicializa uma nova instância da Claim classe. |
| Claim(String, String, String, String, String, ClaimsIdentity) |
Inicializa uma nova instância da Claim classe com o tipo de reivindicação, valor, tipo de valor, emitente, emitente original e objeto especificados. |
| Claim(String, String, String, String, String) |
Inicializa uma nova instância da Claim classe com o tipo de reivindicação, valor, tipo de valor, emissor e emitente original especificados. |
| Claim(String, String, String, String) |
Inicializa uma nova instância da Claim classe com o tipo, valor, tipo de valor e emissor especificados. |
| Claim(String, String, String) |
Inicializa uma nova instância da Claim classe com o tipo, valor e tipo de valor especificados. |
| Claim(String, String) |
Inicializa uma nova instância da Claim classe com o tipo de reivindicação especificado e o valor. |
Propriedades
| Name | Descrição |
|---|---|
| CustomSerializationData |
Contém quaisquer dados adicionais fornecidos por um tipo derivado. |
| Issuer |
Obtém o emissor da reclamação. |
| OriginalIssuer |
Fica com o emissor original da reclamação. |
| Properties |
Obtém um dicionário que contém propriedades adicionais associadas a esta afirmação. |
| Subject |
Percebe o tema da reclamação. |
| Type |
Obtém o tipo de reclamação da reclamação. |
| Value |
Obtém o valor da reclamação. |
| ValueType |
Obtém o tipo de valor da reclamação. |
Métodos
| Name | Descrição |
|---|---|
| Clone() |
Devolve um novo Claim objeto copiado deste objeto. A nova reivindicação não tem um sujeito. |
| Clone(ClaimsIdentity) |
Devolve um novo Claim objeto copiado deste objeto. O sujeito da nova reivindicação é definido para o ClaimsIdentity especificado. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma representação em cadeia deste Claim objeto. |
| WriteTo(BinaryWriter, Byte[]) |
Escreve isto Claim para o escritor. |
| WriteTo(BinaryWriter) |
Escreve isto Claim para o escritor. |