Claim Clase

Definición

Representa una notificación asociada a una entidad.

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. Las notificaciones describen las funciones asociadas con alguna identidad en el sistema, a menudo un usuario de ese sistema. El conjunto de notificaciones asociado a una entidad determinada puede pensarse como clave. 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. De este modo, las notificaciones se utilizan para obtener acceso a los recursos. 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.

Una notificación es la expresión de un derecho con respecto a un valor en concreto. Un derecho se puede leer, escribir o poseer. Un valor podría ser una base de datos, un archivo, un buzón o una propiedad. Las notificaciones también tienen un tipo de notificación. La combinación del tipo de notificación y el derecho proporciona el mecanismo para las funciones que se especifican con respecto al valor. Por ejemplo, una notificación de tipo file con el derecho read sobre el valor biography.doc indica que la entidad con dicha notificación tiene acceso de lectura al archivo biography.doc. Una notificación de nombre de tipo con el derecho PossessProperty sobre el valor Martin indica que la entidad con la notificación posee una Name propiedad con el valor Martin.

Aunque varios tipos de notificaciones y derechos se definen como parte del modelo de identidad, el sistema es 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.

Constructores

Claim(String, Object, String)

Inicializa una nueva instancia de la clase Claim con el tipo, recurso y derecho especificado.

Propiedades

ClaimType

Obtiene el tipo de la notificación.

DefaultComparer

Obtiene un objeto que puede comparar la igualdad de dos objetos Claim.

Resource

Obtiene el recurso al que está asociado este objeto Claim.

Right

Una representación de cadena de un identificador uniforme de recursos (URI) que especifica el derecho asociado a este objeto Claim. Hay disponibles derechos predefinidos como propiedades estáticas de la clase Rights.

System

Una notificación predefinida que representa la entidad del sistema.

Métodos

CreateDenyOnlyWindowsSidClaim(SecurityIdentifier)

Crea un objeto Claim que representa un identificador de seguridad especificado (SID) de solo denegación.

CreateDnsClaim(String)

Crea un objeto Claim que representa el nombre del sistema de nombre de dominios (DNS) especificado.

CreateHashClaim(Byte[])

Crea un objeto Claim que representa el valor hash especificado.

CreateMailAddressClaim(MailAddress)

Crea un objeto Claim que representa la dirección de correo electrónico especificada.

CreateNameClaim(String)

Crea un objeto Claim que representa el nombre especificado.

CreateRsaClaim(RSA)

Crea un objeto Claim que representa la clave RSA especificada.

CreateSpnClaim(String)

Crea un objeto Claim que representa el Nombre de entidad de seguridad de servicio (SPN) especificado.

CreateThumbprintClaim(Byte[])

Crea un objeto Claim que representa la huella digital especificada.

CreateUpnClaim(String)

Crea un objeto Claim que representa el Nombre principal universal (UPN) especificado.

CreateUriClaim(Uri)

Crea un objeto Claim que representa el Localizador uniforme de recursos especificado (URL).

CreateWindowsSidClaim(SecurityIdentifier)

Crea un objeto Claim que representa el identificador de seguridad especificado (SID).

CreateX500DistinguishedNameClaim(X500DistinguishedName)

Crea un objeto Claim que representa el nombre distintivo X.500 especificado.

Equals(Object)

Determina si el objeto especificado representa la misma notificación que el objeto Claim actual.

GetHashCode()

Devuelve un código hash para la notificación actual.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una representación de cadena de este objeto Claim.

Se aplica a