Claim Clase

Definición

Representa una notificación asociada a una entidad.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
[<System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")>]
type Claim = class
Public Class Claim
Herencia
Claim
Atributos

Ejemplos

// 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

Comentarios

El modelo de identidad es un sistema de autorización basado en notificaciones.The Identity Model is a claims-based authorization system. Las notificaciones describen las funciones asociadas con alguna identidad en el sistema, a menudo un usuario de ese sistema.Claims describe the capabilities associated with some entity in the system, often a user of that system. El conjunto de notificaciones asociado a una entidad determinada puede pensarse como clave.The set of claims associated with a given entity can be thought of as a key. Las notificaciones determinadas definen la forma de esa clave, de manera muy similar a la forma en la que se utiliza una llave física para abrir la cerradura de una puerta.The particular claims define the shape of that key; much like a physical key is used to open a lock in a door. De este modo, las notificaciones se utilizan para obtener acceso a los recursos.In this way, claims are used to gain access to resources. El acceso a un recurso protegido determinado se determina comparando las notificaciones necesarias para obtener acceso a ese recurso con las notificaciones asociadas a la entidad que intenta obtener el acceso.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.

Una notificación es la expresión de un derecho con respecto a un valor en concreto.A claim is the expression of a right with respect to a particular value. Un derecho se puede leer, escribir o poseer.A right could be read, write, or possess. Un valor podría ser una base de datos, un archivo, un buzón o una propiedad.A value could be a database, a file, a mailbox, or a property. Las notificaciones también tienen un tipo de notificación.Claims also have a claim type. La combinación del tipo de notificación y el derecho proporciona el mecanismo para las funciones que se especifican con respecto al valor.The combination of claim type and right provides the mechanism for capabilities being specified with respect to the value. Por ejemplo, una demanda de tipo file con el derecho read sobre el valor biography.doc indica que la entidad con dicha demanda tiene acceso de lectura al archivo biography.doc. Una demanda de nombre de tipo con el derecho PossessProperty sobre el valor Martin indica que la entidad con la demanda posee una Name propiedad con el 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.

Aunque varios tipos de notificaciones y derechos se definen como parte del modelo de identidad, el sistema es extensible.Although various claim types and rights are defined as part of Identity Model, the system is extensible. Los varios sistemas que se generan sobre la infraestructura del modelo de identidad pueden definir derechos y tipos de notificaciones según sea necesario.The various systems building on top of the Identity Model infrastructure can define claim types and rights as required.

Constructores

Claim(String, Object, String)

Inicializa una nueva instancia de la clase Claim con el tipo, recurso y derecho especificado.Initializes a new instance of the Claim class with the specified type, resource, and right.

Propiedades

ClaimType

Obtiene el tipo de la notificación.Gets the type of the claim.

DefaultComparer

Obtiene un objeto que puede comparar la igualdad de dos objetos Claim.Gets an object that can compare two Claim objects for equality.

Resource

Obtiene el recurso al que está asociado este objeto Claim.Gets the resource with which this Claim object is associated.

Right

Una representación de cadena de un identificador uniforme de recursos (URI) que especifica el derecho asociado a este objeto Claim.A string representation of a uniform resource identifier (URI) that specifies the right associated with this Claim object. Hay disponibles derechos predefinidos como propiedades estáticas de la clase Rights.Pre-defined rights are available as static properties of the Rights class.

System

Una notificación predefinida que representa la entidad del sistema.A pre-defined claim that represents the system entity.

Métodos

CreateDenyOnlyWindowsSidClaim(SecurityIdentifier)

Crea un objeto Claim que representa un identificador de seguridad especificado (SID) de solo denegación.Creates a Claim object that represents a deny-only specified security identifier (SID).

CreateDnsClaim(String)

Crea un objeto Claim que representa el nombre del sistema de nombre de dominios (DNS) especificado.Creates a Claim object that represents the specified Domain Name System (DNS) name.

CreateHashClaim(Byte[])

Crea un objeto Claim que representa el valor hash especificado.Creates a Claim object that represents the specified hash value.

CreateMailAddressClaim(MailAddress)

Crea un objeto Claim que representa la dirección de correo electrónico especificada.Creates a Claim object that represents the specified email address.

CreateNameClaim(String)

Crea un objeto Claim que representa el nombre especificado.Creates a Claim object that represents the specified name.

CreateRsaClaim(RSA)

Crea un objeto Claim que representa la clave RSA especificada.Creates a Claim object that represents the specified RSA key.

CreateSpnClaim(String)

Crea un objeto Claim que representa el Nombre de entidad de seguridad de servicio (SPN) especificado.Creates a Claim object that represents the specified Service Principal Name (SPN).

CreateThumbprintClaim(Byte[])

Crea un objeto Claim que representa la huella digital especificada.Creates a Claim object that represents the specified thumbprint.

CreateUpnClaim(String)

Crea un objeto Claim que representa el Nombre principal universal (UPN) especificado.Creates a Claim object that represents the specified Universal Principal Name (UPN).

CreateUriClaim(Uri)

Crea un objeto Claim que representa el Localizador uniforme de recursos especificado (URL).Creates a Claim object that represents the specified Uniform Resource Locator (URL).

CreateWindowsSidClaim(SecurityIdentifier)

Crea un objeto Claim que representa el identificador de seguridad especificado (SID).Creates a Claim object that represents the specified security identifier (SID).

CreateX500DistinguishedNameClaim(X500DistinguishedName)

Crea un objeto Claim que representa el nombre distintivo X.500 especificado.Creates a Claim object that represents the specified X.500 distinguished name.

Equals(Object)

Determina si el objeto especificado representa la misma notificación que el objeto Claim actual.Determines whether the specified object represents the same claim as the current Claim object.

GetHashCode()

Devuelve un código hash para la notificación actual.Returns a hash code for the current claim.

GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ToString()

Devuelve una representación de este objeto Claim.Returns a string representation of this Claim object.

Se aplica a