SessionSecurityToken Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Definisce un token di sicurezza che contiene i dati associati a una sessione.
public ref class SessionSecurityToken : System::IdentityModel::Tokens::SecurityToken, System::Runtime::Serialization::ISerializable
[System.Serializable]
public class SessionSecurityToken : System.IdentityModel.Tokens.SecurityToken, System.Runtime.Serialization.ISerializable
[<System.Serializable>]
type SessionSecurityToken = class
inherit SecurityToken
interface ISerializable
Public Class SessionSecurityToken
Inherits SecurityToken
Implements ISerializable
- Ereditarietà
- Attributi
- Implementazioni
Commenti
Un token di sessione archivia l'utente ClaimsPrincipal associato a una sessione e altri parametri che definiscono la sessione, ad esempio l'ora di inizio e fine della sessione.
Negli scenari passivi, le WSFederationAuthenticationModule chiamate nella SessionAuthenticationModule pipeline di autenticazione (SAM) per creare un token di sessione dall'oggetto ClaimsPrincipal che rappresenta l'utente autenticato. SAM usa il token configurato SessionSecurityTokenHandler per creare il token e serializzarlo in un cookie (e per deserializzare il token da un cookie nelle richieste successive). SAM usa un'istanza della classe configurata CookieHandler per scrivere nuovamente il cookie nella risposta HTTP. Questo cookie viene quindi restituito al client e nelle richieste successive il client può presentare il cookie anziché eseguire un round trip al provider di identità per ottenere nuovamente un token di sicurezza. Per altre informazioni sul funzionamento delle sessioni con WIF, vedere Gestione sessione WIF. Per informazioni sull'uso delle sessioni negli scenari della web farm, vedere WIF e Web Farm.
Un token di sessione può funzionare in modalità di riferimento o meno. Se il token di sessione non è operativo in modalità di riferimento, l'intero token viene serializzato nel cookie di sessione archiviato nel client. Il token di sessione serializzato può essere abbastanza grande e quindi il cookie archiviato nel client può anche essere abbastanza ridimensionabile. In modalità di riferimento, anziché serializzare l'intero token di sessione nel cookie, il token viene archiviato in una cache dei token di sicurezza della sessione e solo le informazioni usate per generare la chiave necessaria per recuperare il token dalla cache vengono archiviate nel cookie. Ciò può ridurre notevolmente le dimensioni del cookie. La cache dei token di sessione viene implementata da una classe derivata da SessionSecurityTokenCache e la chiave della SessionSecurityTokenCacheKey cache viene implementata dalla classe . Le ContextId proprietà e KeyGeneration vengono usate nella classe per generare la chiave della SessionSecurityTokenCacheKey cache.
La IsReferenceMode proprietà determina se il token di sessione è in modalità di riferimento o meno.
Importante
Per operare in modalità di riferimento, Microsoft consiglia di fornire un gestore per l'evento WSFederationAuthenticationModule.SessionSecurityTokenCreated nel file global.asax.cs e impostare la IsReferenceMode proprietà sul token passato nella SessionSecurityTokenCreatedEventArgs.SessionToken proprietà. Ciò garantisce che il token di sessione funzioni in modalità di riferimento per ogni richiesta ed è preferito solo impostando la SessionAuthenticationModule.IsReferenceMode proprietà nel modulo di autenticazione sessione.
La SessionSecurityTokenHandler classe fornita con WIF serializza il token di sessione come elemento WS-Secure Conversation <wsc:SecurityContextToken>
.
Costruttori
SessionSecurityToken(ClaimsPrincipal) |
Inizializza una nuova istanza della classe SessionSecurityToken dall'entità specificata. |
SessionSecurityToken(ClaimsPrincipal, String) |
Inizializza una nuova istanza della classe SessionSecurityToken dai token di bootstrap e principale specificati. |
SessionSecurityToken(ClaimsPrincipal, String, Nullable<DateTime>, Nullable<DateTime>) |
Inizializza una nuova istanza della classe SessionSecurityToken dai token di bootstrap e principale specificati e con l'ora di inizio e l'ora di scadenza specificate. |
SessionSecurityToken(ClaimsPrincipal, String, String, Nullable<DateTime>, Nullable<DateTime>) |
Inizializza una nuova istanza della classe SessionSecurityToken dai token di bootstrap e principale specificati e con l'ora di inizio e l'ora di scadenza specificate. Il nuovo token è limitato all'ambito dell'endpoint specificato. |
SessionSecurityToken(ClaimsPrincipal, TimeSpan) |
Inizializza una nuova istanza della classe SessionSecurityToken dall'entità specificata. Il nuovo token è valido da UtcNow con la durata specificata. |
SessionSecurityToken(ClaimsPrincipal, UniqueId, String, String, DateTime, TimeSpan, SymmetricSecurityKey) |
Inizializza una nuova istanza della classe SessionSecurityToken utilizzando il principale, l'ID di contesto, il contesto, l'endpoint, il timestamp valido, la durata e la chiave specificati. |
SessionSecurityToken(ClaimsPrincipal, UniqueId, String, String, Nullable<DateTime>, Nullable<DateTime>, SymmetricSecurityKey) |
Inizializza una nuova istanza della classe SessionSecurityToken utilizzando il principale, l'ID di contesto, il contesto, l'endpoint, l'ora iniziale, l'ora di scadenza e la chiave specificati. |
SessionSecurityToken(ClaimsPrincipal, UniqueId, String, String, TimeSpan, SymmetricSecurityKey) |
Inizializza una nuova istanza della classe SessionSecurityToken utilizzando il principale, l'ID di contesto, il contesto, l'endpoint, la durata e la chiave specificati. |
SessionSecurityToken(SerializationInfo, StreamingContext) |
Inizializza una nuova istanza della classe SessionSecurityToken con dati serializzati. |
Proprietà
ClaimsPrincipal |
Ottiene il principale delle attestazioni associato alla sessione. |
Context |
Ottiene un valore del contesto specificato dall'utente. |
ContextId |
Ottiene l'identificatore di contesto della sessione. |
EndpointId |
Ottiene l'ID dell'endpoint che è l'ambito di questo token. |
Id |
Ottiene l'identificatore univoco di questo token. |
IsPersistent |
Ottiene o imposta un valore che indica se il cookie rappresentato dal token è persistente. |
IsReferenceMode |
Ottiene o imposta un valore che indica se il token di sicurezza della sessione funziona in modalità di riferimento. |
KeyEffectiveTime |
Ottiene l'istante temporale a partire dal quale la chiave di questo token non è più valida. |
KeyExpirationTime |
Ottiene l'istante temporale dopo il quale la chiave di questo token non è più valida. |
KeyGeneration |
Ottiene l'identificatore per la generazione della chiave in questo token. |
SecureConversationVersion |
Ottiene un URI che identifica la versione di WS-SecureConversation utilizzata per serializzare il token di sicurezza della sessione. |
SecurityKeys |
Ottiene i tasti associati a questa sessione. Si tratta in genere di una singola chiave. |
ValidFrom |
Ottiene l'istante temporale da cui il token è valido. |
ValidTo |
Ottiene l'istante temporale dopo il quale il token non è più valido. |
Metodi
CanCreateKeyIdentifierClause<T>() |
Ottiene un valore che indica se questo token di sicurezza è in grado di creare l'identificatore di chiave specificato. (Ereditato da SecurityToken) |
CreateKeyIdentifierClause<T>() |
Crea la clausola identificatore di chiave specificata. (Ereditato da SecurityToken) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Imposta SerializationInfo con le informazioni necessarie a serializzare il token di sicurezza della sessione. |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MatchesKeyIdentifierClause(SecurityKeyIdentifierClause) |
Restituisce un valore che indica se l'identificatore di chiave per l'istanza può essere risolto nell'identificatore di chiave specificato. (Ereditato da SecurityToken) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ResolveKeyIdentifierClause(SecurityKeyIdentifierClause) |
Ottiene la chiave per la clausola dell'identificatore di chiave specificata. (Ereditato da SecurityToken) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |