Claim Classe

Definição

Representa uma reivindicação associada a uma entidade.

public ref class Claim
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")]
public class Claim
[<System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")>]
type Claim = class
Public Class Claim
Herança
Claim
Atributos

Exemplos

// Run this method from within a method protected by the PrincipalPermissionAttribute
// to see the security context data, including the primary identity.
public void WriteServiceSecurityContextData(string fileName)
{
    using (StreamWriter sw = new StreamWriter(fileName))
    {
        // Write the primary identity and Windows identity. The primary identity is derived from the
        // the credentials used to authenticate the user. The Windows identity may be a null string.
        sw.WriteLine("PrimaryIdentity: {0}", ServiceSecurityContext.Current.PrimaryIdentity.Name);
        sw.WriteLine("WindowsIdentity: {0}", ServiceSecurityContext.Current.WindowsIdentity.Name);
        sw.WriteLine();
        // Write the claimsets in the authorization context. By default, there is only one claimset
        // provided by the system.
        foreach (ClaimSet claimset in ServiceSecurityContext.Current.AuthorizationContext.ClaimSets)
        {
            foreach (Claim claim in claimset)
            {
                // Write out each claim type, claim value, and the right. There are two
                // possible values for the right: "identity" and "possessproperty".
                sw.WriteLine("Claim Type = {0}", claim.ClaimType);
                sw.WriteLine("\t Resource = {0}", claim.Resource.ToString());
                sw.WriteLine("\t Right = {0}", claim.Right);
            }
        }
    }
}
' Run this method from within a method protected by the PrincipalPermissionAttribute
' to see the security context data, including the primary identity.
Public Sub WriteServiceSecurityContextData(ByVal fileName As String)
    Dim sw As New StreamWriter(fileName)
    Try
        ' Write the primary identity and Windows identity. The primary identity is derived from the
        ' the credentials used to authenticate the user. The Windows identity may be a null string.
        sw.WriteLine("PrimaryIdentity: {0}", ServiceSecurityContext.Current.PrimaryIdentity.Name)
        sw.WriteLine("WindowsIdentity: {0}", ServiceSecurityContext.Current.WindowsIdentity.Name)
        sw.WriteLine()
        ' Write the claimsets in the authorization context. By default, there is only one claimset
        ' provided by the system. 
        Dim claimset As ClaimSet
        For Each claimset In ServiceSecurityContext.Current.AuthorizationContext.ClaimSets
            Dim claim As Claim
            For Each claim In claimset
                ' Write out each claim type, claim value, and the right. There are two
                ' possible values for the right: "identity" and "possessproperty". 
                sw.WriteLine("Claim Type = {0}", claim.ClaimType)
                sw.WriteLine(vbTab + " Resource = {0}", claim.Resource.ToString())
                sw.WriteLine(vbTab + " Right = {0}", claim.Right)
            Next claim
        Next claimset
    Finally
        sw.Dispose()
    End Try

End Sub

Observações

O Modelo de Identidade é um sistema de autorização baseado em reclamações. As declarações descrevem os recursos associados a alguma entidade no sistema, geralmente um usuário desse sistema. O conjunto de declarações associadas a uma determinada entidade pode ser considerado como uma chave. As reivindicações particulares definem a forma dessa tonalidade; Tal como uma chave física é usada para abrir uma fechadura numa porta. Desta forma, as reivindicações são usadas para obter acesso a recursos. O acesso a um determinado recurso protegido é determinado comparando as reivindicações necessárias para aceder a esse recurso com as reivindicações associadas à entidade que tenta aceder.

Uma reivindicação é a expressão de um direito em relação a um determinado valor. Um direito podia ser lido, escrito ou possuído. Um valor pode ser uma base de dados, um ficheiro, uma caixa de correio ou uma propriedade. As reclamações também têm um tipo de reivindicação. A combinação do tipo de reivindicação e do direito fornece o mecanismo para que as capacidades sejam especificadas em relação ao valor. Por exemplo, uma reivindicação do tipo file com direito read sobre o valor biography.doc indica que a entidade com tal reivindicação tem acesso de leitura à biography.doc do ficheiro. Uma reivindicação de nome tipo com direito PossessProperty sobre o valor Martin indica que a entidade com a reivindicação possui um Name bem com o valor Martin.

Embora vários tipos de reivindicações e direitos sejam definidos como parte do Modelo de Identidade, o sistema é extensível. Os vários sistemas que se baseiam na infraestrutura do Modelo de Identidade podem definir tipos de reivindicações e direitos conforme necessário.

Construtores

Name Description
Claim(String, Object, String)

Inicializa uma nova instância da Claim classe com o tipo, recurso e direito especificados.

Propriedades

Name Description
ClaimType

Percebe o tipo de reclamação.

DefaultComparer

Obtém um objeto que pode comparar dois Claim objetos para igualdade.

Resource

Obtém o recurso com o qual este Claim objeto está associado.

Right

Uma representação em cadeia de um identificador uniforme de recurso (URI) que especifica o direito associado a este Claim objeto. Direitos pré-definidos estão disponíveis como propriedades estáticas da Rights classe.

System

Uma reivindicação pré-definida que representa a entidade do sistema.

Métodos

Name Description
CreateDenyOnlyWindowsSidClaim(SecurityIdentifier)

Cria um Claim objeto que representa um identificador de segurança especificado (SID) apenas para negação.

CreateDnsClaim(String)

Cria um Claim objeto que representa o nome especificado do Sistema de Nomes de Domínio (DNS).

CreateHashClaim(Byte[])

Cria um Claim objeto que representa o valor de hash especificado.

CreateMailAddressClaim(MailAddress)

Cria um Claim objeto que representa o endereço de email especificado.

CreateNameClaim(String)

Cria um Claim objeto que representa o nome especificado.

CreateRsaClaim(RSA)

Cria um Claim objeto que representa a chave RSA especificada.

CreateSpnClaim(String)

Cria um Claim objeto que representa o Nome do Principal de Serviço (SPN) especificado.

CreateThumbprintClaim(Byte[])

Cria um Claim objeto que representa a impressão digital especificada.

CreateUpnClaim(String)

Cria um Claim objeto que representa o Nome Principal Universal (UPN) especificado.

CreateUriClaim(Uri)

Cria um Claim objeto que representa o Localizador Uniforme de Recursos (URL) especificado.

CreateWindowsSidClaim(SecurityIdentifier)

Cria um Claim objeto que representa o identificador de segurança (SID) especificado.

CreateX500DistinguishedNameClaim(X500DistinguishedName)

Cria um Claim objeto que representa o nome distinto X.500 especificado.

Equals(Object)

Determina se o objeto especificado representa a mesma reivindicação que o objeto atual Claim .

GetHashCode()

Devolve um código hash para a reclamação atual.

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.

Aplica-se a