Claim Classe

Definizione

Rappresenta un'attestazione.

public ref class Claim
public class Claim
[System.Serializable]
public class Claim
type Claim = class
[<System.Serializable>]
type Claim = class
Public Class Claim
Ereditarietà
Claim
Attributi

Esempio

Nell'esempio seguente vengono estratte le attestazioni associate all'utente autenticato che esegue una richiesta HTTP e le scrive nella risposta HTTP. L'utente corrente viene letto dall'oggetto HttpContext come oggetto ClaimsPrincipal e le attestazioni vengono letti da esso. Le attestazioni vengono quindi scritte nell'oggetto HttpResponse .

ClaimsPrincipal principal = HttpContext.Current.User as ClaimsPrincipal;  
if (null != principal)  
{  
   foreach (Claim claim in principal.Claims)  
   {  
      Response.Write("CLAIM TYPE: " + claim.Type + "; CLAIM VALUE: " + claim.Value + "</br>");  
   }  

}  

Commenti

Un'attestazione è un'istruzione relativa a un oggetto da parte di un'autorità emittente. Le attestazioni rappresentano gli attributi dell'oggetto utili nel contesto delle operazioni di autenticazione e autorizzazione. I soggetti e le autorità di certificazione sono entrambe le entità che fanno parte di uno scenario di identità. Alcuni esempi tipici di un oggetto sono: un utente, un'applicazione o un servizio, un dispositivo o un computer. Alcuni esempi tipici di un'autorità emittente sono: il sistema operativo, un'applicazione, un servizio, un provider di ruoli, un provider di identità o un provider federativo. Un'autorità emittente fornisce attestazioni emettendo token di sicurezza, in genere tramite un servizio token di sicurezza (STS). In WIF è possibile compilare un servizio di sicurezza di rete derivando dalla SecurityTokenService classe. In caso contrario, la raccolta di attestazioni ricevute da un'autorità emittente può essere estesa dagli attributi soggetti archiviati direttamente nella risorsa. Un'attestazione può essere valutata per determinare i diritti di accesso ai dati e altre risorse protette durante il processo di autorizzazione e può essere usata anche per prendere o esprimere decisioni di autenticazione su un soggetto.

A partire da .NET 4.5, le classi Windows Identity Foundation (WIF), che implementano l'identità basata su attestazioni, sono state completamente integrate in .NET Framework. Il concetto di attestazione viene implementato dalla Claim classe .

Di seguito vengono descritte le proprietà importanti della Claim classe:

  • La Type proprietà è una stringa (in genere un URI) che contiene le informazioni semantiche sull'attestazione. Indica il valore dell'attestazione. Ad esempio, un'attestazione con un tipo di attestazione (GivenName"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname") rappresenta il nome di un utente. Il valore della Type proprietà può essere uno dei tipi di attestazioni noti definiti nella ClaimTypes classe oppure può essere un URI arbitrario come definito dall'autorità di certificazione. Ad esempio, un tipo di attestazione "urn:spendinglimit" può rappresentare un attributo utente che ha senso all'interno del contesto aziendale dell'autorità emittente.

  • La Value proprietà contiene il valore dell'attestazione. Per ridurre le dipendenze e semplificare l'amministrazione, in WIF il valore di un'attestazione viene rappresentato solo come stringa. Per tipi di valore più complessi, è consigliabile usare tipi di XML Schema standard per indicare come il valore deve essere serializzato in e deserializzato da una stringa.

  • La ValueType proprietà contiene una stringa che identifica le informazioni sul tipo per il valore. Questa proprietà deve essere usata per comprendere il formato del valore e fornire informazioni su come deserializzarla. Se la soluzione richiede tipi di valore complessi, è consigliabile usare i tipi di XML Schema standard nella ValueType proprietà per indicare come la Value proprietà deve essere serializzata in e deserializzata da una stringa.

  • La Subject proprietà è un ClaimsIdentity oggetto che rappresenta l'oggetto dell'attestazione. L'oggetto dell'attestazione è l'entità (in genere l'utente che richiede l'accesso a una risorsa) su cui viene asserta l'attestazione. Contiene ClaimsIdentity , tra le relative proprietà, una raccolta di attestazioni che descrivono le proprietà e gli attributi dell'oggetto come attestati da uno o più emittenti.

  • La Issuer proprietà contiene il nome dell'entità che ha rilasciato l'attestazione. L'autorità emittente di un'attestazione è rappresentata in WIF da una stringa che contiene un nome tratto da un elenco di emittenti note gestite dal Registro dei nomi dell'autorità di certificazione. Il Registro dei nomi dell'autorità di certificazione è un'istanza IssuerNameRegistry di una classe che deriva dalla classe . Il registro dei nomi dell'autorità di certificazione associa un nome mnemonic al materiale crittografico necessario per verificare le firme dei token prodotti dall'autorità di certificazione corrispondente. Ad esempio, la ConfigurationBasedIssuerNameRegistry classe, disponibile nella casella con .NET 4.5, associa il nome mnemonic per ogni autorità emittente al certificato X.509 corrispondente. L'elenco di emittenti note è in genere compilato in fase di avvio dal registro dei nomi dell'autorità di certificazione. L'elenco usato dall'oggetto ConfigurationBasedIssuerNameRegistry viene specificato nel file di configurazione dell'applicazione.

  • La OriginalIssuer proprietà contiene il nome dell'entità che originariamente ha rilasciato l'attestazione. Questa proprietà è progettata per facilitare gli scenari in cui un'attestazione può passare attraverso più emittenti prima che venga presentata dal client all'applicazione RP; ad esempio scenari di federazione. È possibile esaminare la OriginalIssuer proprietà per determinare l'entità che originariamente ha rilasciato l'attestazione. Il nome viene preso dall'elenco di emittenti note gestite dal registro dei nomi dell'autorità di certificazione, come nel caso della Issuer proprietà.

Costruttori

Claim(BinaryReader)

Inizializza un'istanza di Claim con l'oggetto BinaryReader specificato.

Claim(BinaryReader, ClaimsIdentity)

Inizializza una nuova istanza della classe Claim con il lettore e il soggetto specificati.

Claim(Claim)

Inizializza una nuova istanza della classe Claim.

Claim(Claim, ClaimsIdentity)

Inizializza una nuova istanza della classe Claim con l'attestazione di sicurezza e il soggetto specificati.

Claim(String, String)

Inizializza una nuova istanza della classe Claim con il tipo e il valore dell'attestazione specificati.

Claim(String, String, String)

Inizializza una nuova istanza della classe Claim con il tipo, il valore e il tipo di valore dell'attestazione specificati.

Claim(String, String, String, String)

Inizializza una nuova istanza della classe Claim con il tipo di attestazione, il valore, il tipo di valore e l'autorità di certificazione specificati.

Claim(String, String, String, String, String)

Inizializza una nuova istanza della classe con il tipo di attestazione, il valore, il tipo di valore, l'autorità Claim emittente originale.

Claim(String, String, String, String, String, ClaimsIdentity)

Inizializza una nuova istanza della classe Claim con il tipo di attestazione, il valore, il tipo di valore, l'autorità di certificazione, l'autorità di certificazione originale e il soggetto.

Proprietà

CustomSerializationData

Contiene i dati aggiuntivi forniti da un tipo derivato.

Issuer

Ottiene l'autorità di certificazione dell'attestazione.

OriginalIssuer

Ottiene l'autorità di certificazione originale dell'attestazione.

Properties

Ottiene un dizionario che contiene le proprietà aggiuntive associate all'attestazione.

Subject

Ottiene il soggetto dell'attestazione.

Type

Ottiene il tipo dell'attestazione.

Value

Ottiene il valore dell'attestazione.

ValueType

Ottiene il tipo di valore dell'attestazione.

Metodi

Clone()

Restituisce un nuovo oggetto Claim copiato da questo oggetto. La nuova attestazione non ha un soggetto.

Clone(ClaimsIdentity)

Restituisce un nuovo oggetto Claim copiato da questo oggetto. L'oggetto della nuova attestazione è impostato sull'oggetto ClaimsIdentity specificato.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
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.

WriteTo(BinaryWriter)

Scrive questo oggetto Claim nel writer.

WriteTo(BinaryWriter, Byte[])

Scrive questo oggetto Claim nel writer.

Si applica a

Vedi anche