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'oggetto ClaimsPrincipal dell'utente associato a una sessione e altri parametri che definiscono la sessione, ad esempio l'ora di inizio e di fine della sessione.

Negli scenari passivi, le WSFederationAuthenticationModule chiamate nella SessionAuthenticationModule pipeline di autenticazione (SAM) per creare un token di sessione da ClaimsPrincipal che rappresenta l'utente autenticato. Sam usa il token configurato SessionSecurityTokenHandler per creare il token e serializzarlo in un cookie e 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 successive richieste il client può presentare il cookie invece di effettuare un round trip al provider di identità per ottenere nuovamente un token di sicurezza. Per altre informazioni sul funzionamento delle sessioni con WIF, vedere WiF Session Management.For more information about how sessions operate with WIF session management, see WIF Session Management. Per informazioni sull'uso di sessioni in scenari di Web farm, vedere WIF e Web farm.

Un token di sessione può funzionare in modalità riferimento o meno. Se il token di sessione non funziona in modalità di riferimento, l'intero token viene serializzato nel cookie di sessione archiviato nel client. Il token di sessione serializzato può essere piuttosto grande e quindi il cookie archiviato nel client può anche essere abbastanza ridimensionabile. In modalità di riferimento, invece di 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 cache viene implementata dalla SessionSecurityTokenCacheKey classe . Le ContextId proprietà e KeyGeneration vengono utilizzate nella SessionSecurityTokenCacheKey classe per generare la chiave della cache.

La IsReferenceMode proprietà determina se il token di sessione è in modalità riferimento o meno.

Importante

Per operare in modalità riferimento, Microsoft consiglia di fornire un gestore per l'evento WSFederationAuthenticationModule.SessionSecurityTokenCreated nel file global.asax.cs e di impostare la IsReferenceMode proprietà sul token passato nella SessionSecurityTokenCreatedEventArgs.SessionToken proprietà . In questo modo si garantisce che il token di sessione funzioni in modalità di riferimento per ogni richiesta e che sia preferito semplicemente impostare la SessionAuthenticationModule.IsReferenceMode proprietà nel modulo di autenticazione della 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