Compartilhar via


Claim Classe

Definição

Representa uma declaraçã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

Comentários

O Modelo de Identidade é um sistema de autorização baseado em declarações. As declarações descrevem as capacidades associadas a uma entidade no sistema, geralmente um usuário desse sistema. O conjunto de declarações associado a uma determinada entidade pode ser considerado uma chave. As declarações específicas definem a forma dessa chave; assim como uma chave física é usada para abrir uma fechadura em uma porta. Dessa forma, as declarações são usadas para obter acesso aos recursos. O acesso a um determinado recurso protegido é determinado comparando as declarações necessárias para acessar esse recurso com as declarações associadas à entidade que tenta acessar.

Uma declaração é a expressão de um direito em relação a um valor específico. Um direito pode ser lido, gravado ou possuído. Um valor pode ser um banco de dados, um arquivo, uma caixa de correio ou uma propriedade. As declarações também têm um tipo. A combinação de tipo de declaração e direito fornece o mecanismo para recursos que estão sendo especificados em relação ao valor. Por exemplo, uma declaração do tipo file com o direito read sobre o valor biography.doc indica que a entidade com essa declaração tem acesso de leitura ao arquivo biography.doc. Uma declaração de nome de tipo com o direito PossessProperty sobre o valor Martin indica que a entidade com a declaração possui uma Name propriedade com o valor Martin.

Embora vários tipos de declaração 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 declaração e direitos conforme necessário.

Construtores

Claim(String, Object, String)

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

Propriedades

ClaimType

Obtém o tipo da declaração.

DefaultComparer

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

Resource

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

Right

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

System

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

Métodos

CreateDenyOnlyWindowsSidClaim(SecurityIdentifier)

Cria um objeto Claim que representa uma SID (ID de segurança) exclusivamente de negação especificada.

CreateDnsClaim(String)

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

CreateHashClaim(Byte[])

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

CreateMailAddressClaim(MailAddress)

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

CreateNameClaim(String)

Cria um objeto Claim que representa o nome especificado.

CreateRsaClaim(RSA)

Cria um objeto Claim que representa a chave RSA especificada.

CreateSpnClaim(String)

Cria um objeto Claim que representa o SPN (nome da entidade de serviço) especificado.

CreateThumbprintClaim(Byte[])

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

CreateUpnClaim(String)

Cria um objeto Claim que representa o nome UPN especificado.

CreateUriClaim(Uri)

Cria um objeto Claim que representa a URL (Uniform Resource Locator) especificada.

CreateWindowsSidClaim(SecurityIdentifier)

Cria um objeto Claim que representa a SID (ID de segurança) especificada.

CreateX500DistinguishedNameClaim(X500DistinguishedName)

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

Equals(Object)

Determina se o objeto especificado representa a mesma declaração do objeto Claim atual.

GetHashCode()

Retorna um código hash para a declaração atual.

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.

Aplica-se a