Claim Classe

Definizione

Rappresenta un'attestazione associata a un'entità.

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
Ereditarietà
Claim
Attributi

Esempio

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

Commenti

Il modello di identità è un sistema di autorizzazioni basato su attestazioni. Tali attestazioni descrivono le funzionalità associate a un'entità nel sistema, spesso un utente di tale sistema. Il set di attestazioni associato a una determinata entità può essere considerato come una chiave. Le particolari attestazioni definiscono la forma della chiave, analogamente a una chiave utilizzata per aprire la serratura di una porta. Allo stesso modo, le attestazioni vengono utilizzate per accedere alle risorse. L'accesso a una determinata risorsa protetta viene determinato confrontando le attestazioni necessarie per accedere alla risorsa alle attestazioni associate all'entità che tenta di effettuare l'accesso.

Un'attestazione è l'espressione di un diritto rispetto a un particolare valore. Un diritto può essere di lettura, scrittura o proprietà. Un valore potrebbe essere un database, un file, una cassetta postale o una proprietà. Le attestazioni dispongono inoltre di un tipo. La combinazione di tipo di attestazione e diritto fornisce il meccanismo che consente di specificare le funzionalità in relazione al valore. Ad esempio, un'attestazione di tipo file con il diritto read sul valore biography.doc indica che l'entità con tale attestazione ha accesso in lettura al file biography.doc. Un'attestazione di tipo nome con il diritto PossessProperty sul valore Martin indica che l'entità con l'attestazione possiede una Name proprietà con il valore Martin.

Anche se i diversi tipi di attestazione e diritti sono definiti come parte del modello di identità, il sistema è estensibile. I vari sistemi basati sull'infrastruttura del modello di identità possono definire tipi di attestazione e diritti secondo le proprie esigenze.

Costruttori

Claim(String, Object, String)

Inizializza una nuova istanza della classe Claim con il tipo, la risorsa e il diritto specificati.

Proprietà

ClaimType

Ottiene il tipo dell'attestazione.

DefaultComparer

Ottiene un oggetto che può confrontare due oggetti Claim per verificarne l'uguaglianza.

Resource

Ottiene la risorsa a cui l'oggetto Claim corrente è associato.

Right

Rappresentazione di stringa di un URI (Uniform Resource Identifier) che specifica il diritto associato all'oggetto Claim corrente. Sono disponibili diritti predefiniti come proprietà statiche della classe Rights.

System

Attestazione predefinita che rappresenta l'entità di sistema.

Metodi

CreateDenyOnlyWindowsSidClaim(SecurityIdentifier)

Crea un oggetto Claim che rappresenta un ID di sicurezza (SID, Security ID) di sola negazione specificato.

CreateDnsClaim(String)

Crea un oggetto Claim che rappresenta il nome Domain Name System (DNS) specificato.

CreateHashClaim(Byte[])

Crea un oggetto Claim che rappresenta il valore hash specificato.

CreateMailAddressClaim(MailAddress)

Crea un oggetto Claim che rappresenta l'indirizzo di posta elettronica specificato.

CreateNameClaim(String)

Crea un oggetto Claim che rappresenta il nome specificato.

CreateRsaClaim(RSA)

Crea un oggetto Claim che rappresenta la chiave RSA specificata.

CreateSpnClaim(String)

Crea un oggetto Claim che rappresenta il nome SPN (Service Principal Name, Nome principale servizio) specificato.

CreateThumbprintClaim(Byte[])

Crea un oggetto Claim che rappresenta l'identificazione digitale specificata.

CreateUpnClaim(String)

Crea un oggetto Claim che rappresenta il nome Universal Principal Name (UPN) specificato.

CreateUriClaim(Uri)

Crea un oggetto Claim che rappresenta l'URL (Uniform Resource Locator) specificato.

CreateWindowsSidClaim(SecurityIdentifier)

Crea un oggetto Claim che rappresenta l'ID di sicurezza (SID, Security ID) specificato.

CreateX500DistinguishedNameClaim(X500DistinguishedName)

Crea un oggetto Claim che rappresenta il nome distinto X.500 specificato.

Equals(Object)

Determina se l'oggetto specificato rappresenta la stessa attestazione dell'oggetto Claim corrente.

GetHashCode()

Restituisce un codice hash per l'attestazione corrente.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione sotto forma di stringa dell'oggetto Claim corrente.

Si applica a