Claim Classe

Definição

Representa uma declaração associada a uma entidade.Represents a claim that is associated with an entity.

public ref class Claim
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")]
public class Claim
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.The Identity Model is a claims-based authorization system. As declarações descrevem os recursos associados a alguma entidade no sistema, geralmente um usuário desse sistema.Claims describe the capabilities associated with some entity in the system, often a user of that system. O conjunto de declarações associadas a uma determinada entidade pode ser considerado uma chave.The set of claims associated with a given entity can be thought of as a key. As declarações específicas definem a forma dessa chave; muito semelhante a uma chave física é usada para abrir um bloqueio em uma porta.The particular claims define the shape of that key; much like a physical key is used to open a lock in a door. Dessa forma, as declarações são usadas para obter acesso aos recursos.In this way, claims are used to gain access to resources. O acesso a um determinado recurso protegido é determinado pela comparação das declarações necessárias para acessar esse recurso com as declarações associadas à entidade que tenta o acesso.Access to a given protected resource is determined by comparing the claims required to access that resource with the claims associated with the entity that attempts access.

Uma declaração é a expressão de um direito em relação a um valor específico.A claim is the expression of a right with respect to a particular value. Um direito poderia ser leitura, gravação ou posse.A right could be read, write, or possess. Um valor pode ser um banco de dados, um arquivo, uma caixa de correio ou uma propriedade.A value could be a database, a file, a mailbox, or a property. As declarações também têm um tipo de declaração.Claims also have a claim type. A combinação de tipo de declaração e direita fornece o mecanismo para os recursos que estão sendo especificados em relação ao valor.The combination of claim type and right provides the mechanism for capabilities being specified with respect to the value. Por exemplo, uma declaração do tipo file com o read à direita sobre o valor biography.doc indica que a entidade com tal declaração tem acesso de leitura ao arquivo biografia. doc. Uma declaração do nome do tipo com a PossessProperty direita sobre o valor Martin indica que a entidade com a declaração possui uma propriedade Name com o valor Martin.For example, a claim of type file with the right read over the value biography.doc indicates that the entity with such a claim has read access to the file biography.doc. A claim of type name with the right PossessProperty over the value Martin indicates that the entity with the claim possesses a Name property with the value Martin.

Embora vários tipos de declaração e direitos sejam definidos como parte do modelo de identidade, o sistema é extensível.Although various claim types and rights are defined as part of Identity Model, the system is extensible. Os vários sistemas que se baseiam na infraestrutura do modelo de identidade podem definir tipos de declaração e direitos, conforme necessário.The various systems building on top of the Identity Model infrastructure can define claim types and rights as required.

Construtores

Claim(String, Object, String)

Inicializa uma nova instância da classe Claim com o tipo, o recurso e o direito especificados.Initializes a new instance of the Claim class with the specified type, resource, and right.

Propriedades

ClaimType

Obtém o tipo da declaração.Gets the type of the claim.

DefaultComparer

Obtém um objeto que pode comparar dois objetos Claim quanto à igualdade.Gets an object that can compare two Claim objects for equality.

Resource

Obtém o recurso com o qual este objeto Claim está associado.Gets the resource with which this Claim object is associated.

Right

Uma representação de cadeia de caracteres de um URI (Uniform Resource Identifier) que especifica o direito associado a este objeto Claim.A string representation of a uniform resource identifier (URI) that specifies the right associated with this Claim object. Direitos pré-definidos estão disponíveis como propriedades estáticas da classe Rights.Pre-defined rights are available as static properties of the Rights class.

System

Uma declaração pré-definida que representa a entidade do sistema.A pre-defined claim that represents the system entity.

Métodos

CreateDenyOnlyWindowsSidClaim(SecurityIdentifier)

Cria um objeto Claim que representa uma SID (ID de segurança) exclusivamente de negação especificada.Creates a Claim object that represents a deny-only specified security identifier (SID).

CreateDnsClaim(String)

Cria um objeto Claim que representa o nome DNS (Sistema de Nomes de Domínio) especificado.Creates a Claim object that represents the specified Domain Name System (DNS) name.

CreateHashClaim(Byte[])

Cria um objeto Claim que representa o valor de hash especificado.Creates a Claim object that represents the specified hash value.

CreateMailAddressClaim(MailAddress)

Cria um objeto Claim que representa o endereço de email especificado.Creates a Claim object that represents the specified email address.

CreateNameClaim(String)

Cria um objeto Claim que representa o nome especificado.Creates a Claim object that represents the specified name.

CreateRsaClaim(RSA)

Cria um objeto Claim que representa a chave RSA especificada.Creates a Claim object that represents the specified RSA key.

CreateSpnClaim(String)

Cria um objeto Claim que representa o SPN (nome da entidade de serviço) especificado.Creates a Claim object that represents the specified Service Principal Name (SPN).

CreateThumbprintClaim(Byte[])

Cria um objeto Claim que representa a impressão digital especificada.Creates a Claim object that represents the specified thumbprint.

CreateUpnClaim(String)

Cria um objeto Claim que representa o nome UPN especificado.Creates a Claim object that represents the specified Universal Principal Name (UPN).

CreateUriClaim(Uri)

Cria um objeto Claim que representa a URL (Uniform Resource Locator) especificada.Creates a Claim object that represents the specified Uniform Resource Locator (URL).

CreateWindowsSidClaim(SecurityIdentifier)

Cria um objeto Claim que representa a SID (ID de segurança) especificada.Creates a Claim object that represents the specified security identifier (SID).

CreateX500DistinguishedNameClaim(X500DistinguishedName)

Cria um objeto Claim que representa o nome diferenciado do X.500 especificado.Creates a Claim object that represents the specified X.500 distinguished name.

Equals(Object)

Determina se o objeto especificado representa a mesma declaração do objeto Claim atual.Determines whether the specified object represents the same claim as the current Claim object.

GetHashCode()

Retorna um código hash para a declaração atual.Returns a hash code for the current claim.

GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToString()

Retorna uma representação da cadeia de caracteres deste objeto Claim.Returns a string representation of this Claim object.

Aplica-se a