Condividi tramite


SessionSecurityToken Classe

Definizione

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à
SessionSecurityToken
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)

Si applica a

Vedi anche