Partager via


SessionSecurityToken Classe

Définition

Définit un jeton de sécurité qui contient des données associées à une session.

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
Héritage
SessionSecurityToken
Attributs
Implémente

Remarques

Un jeton de session stocke l’utilisateur ClaimsPrincipal associé à une session, ainsi que d’autres paramètres qui définissent la session ; par exemple, les heures de début et de fin de session.

Dans les scénarios passifs, les WSFederationAuthenticationModule appels à partir du SessionAuthenticationModule pipeline d’authentification (SAM) pour créer un jeton de session à partir de celui ClaimsPrincipal qui représente l’utilisateur authentifié. Le SAM utilise sa configuration SessionSecurityTokenHandler pour créer le jeton et le sérialiser dans un cookie (et pour désérialiser le jeton à partir d’un cookie sur les demandes suivantes). Le sam utilise une instance de sa classe configurée CookieHandler pour réécrire le cookie dans la réponse HTTP. Ce cookie est ensuite retourné au client et, lors des demandes suivantes, le client peut présenter le cookie plutôt que de renvoyer un aller-retour au fournisseur d’identité pour obtenir à nouveau un jeton de sécurité. Pour plus d’informations sur le fonctionnement des sessions avec WIF, consultez gestion des sessions WIF. Pour plus d’informations sur l’utilisation de sessions dans des scénarios de batterie de serveurs web, consultez WIF et Web Farms.

Un jeton de session peut fonctionner en mode référence ou non. Si le jeton de session ne fonctionne pas en mode référence, l’intégralité du jeton est sérialisée dans le cookie de session stocké sur le client. Le jeton de session sérialisé peut être assez volumineux et le cookie stocké sur le client peut également être assez volumineux. En mode référence, au lieu de sérialiser l’intégralité du jeton de session dans le cookie, le jeton est stocké dans un cache de jeton de sécurité de session et uniquement les informations utilisées pour générer la clé nécessaire pour récupérer le jeton à partir du cache sont stockées dans le cookie. Cela peut considérablement réduire la taille du cookie. Le cache de jeton de session est implémenté par une classe dérivée SessionSecurityTokenCache et la clé de cache est implémentée par la SessionSecurityTokenCacheKey classe. Les ContextId propriétés et KeyGeneration les propriétés sont utilisées dans la SessionSecurityTokenCacheKey classe pour générer la clé de cache.

La IsReferenceMode propriété détermine si le jeton de session est en mode référence ou non.

Important

Pour fonctionner en mode référence, Microsoft recommande de fournir un gestionnaire pour l’événement WSFederationAuthenticationModule.SessionSecurityTokenCreated dans le fichier global.asax.cs et de définir la IsReferenceMode propriété sur le jeton passé dans la SessionSecurityTokenCreatedEventArgs.SessionToken propriété. Cela garantit que le jeton de session fonctionne en mode référence pour chaque requête et est privilégié par la définition de la SessionAuthenticationModule.IsReferenceMode propriété sur le module d’authentification de session.

La SessionSecurityTokenHandler classe fournie avec WIF sérialise le jeton de session en tant qu’élément <wsc:SecurityContextToken> conversation WS-Secure.

Constructeurs

Nom Description
SessionSecurityToken(ClaimsPrincipal, String, Nullable<DateTime>, Nullable<DateTime>)

Initialise une nouvelle instance de la SessionSecurityToken classe à partir du principal et du jeton d’amorçage spécifiés ; et avec l’heure de début et l’heure d’expiration spécifiées.

SessionSecurityToken(ClaimsPrincipal, String, String, Nullable<DateTime>, Nullable<DateTime>)

Initialise une nouvelle instance de la SessionSecurityToken classe à partir du principal et du jeton d’amorçage spécifiés ; et avec l’heure de début et l’heure d’expiration spécifiées. Le nouveau jeton est étendu au point de terminaison spécifié.

SessionSecurityToken(ClaimsPrincipal, String)

Initialise une nouvelle instance de la SessionSecurityToken classe à partir du principal et du jeton de démarrage spécifiés.

SessionSecurityToken(ClaimsPrincipal, TimeSpan)

Initialise une nouvelle instance de la SessionSecurityToken classe à partir du principal spécifié. Le nouveau jeton est valide à partir de la durée de UtcNow vie spécifiée.

SessionSecurityToken(ClaimsPrincipal, UniqueId, String, String, DateTime, TimeSpan, SymmetricSecurityKey)

Initialise une nouvelle instance de la classe à l’aide du principal, de l’ID de contexte, du contexte, du contexte, du point de terminaison, de l’horodatage valide, de la durée de vie et de la SessionSecurityToken clé spécifiés.

SessionSecurityToken(ClaimsPrincipal, UniqueId, String, String, Nullable<DateTime>, Nullable<DateTime>, SymmetricSecurityKey)

Initialise une nouvelle instance de la classe à l’aide du principal, de l’ID de contexte, du contexte, du contexte, du point de terminaison, de l’heure de début, de l’heure SessionSecurityToken d’expiration et de la clé spécifiées.

SessionSecurityToken(ClaimsPrincipal, UniqueId, String, String, TimeSpan, SymmetricSecurityKey)

Initialise une nouvelle instance de la classe à l’aide du principal, de l’ID de contexte, du contexte, du contexte, du point de terminaison, de la durée de vie et de la SessionSecurityToken clé spécifiés.

SessionSecurityToken(ClaimsPrincipal)

Initialise une nouvelle instance de la SessionSecurityToken classe à partir du principal spécifié.

SessionSecurityToken(SerializationInfo, StreamingContext)

Initialise une nouvelle instance de la classe SessionSecurityToken avec des données sérialisées.

Propriétés

Nom Description
ClaimsPrincipal

Obtient le principal de revendications associé à la session.

Context

Obtient une valeur de contexte spécifiée par l’utilisateur.

ContextId

Obtient l’identificateur de contexte de session.

EndpointId

Obtient l’ID du point de terminaison auquel ce jeton est limité.

Id

Obtient l’identificateur unique de ce jeton.

IsPersistent

Obtient ou définit une valeur qui indique si le cookie représenté par ce jeton est persistant.

IsReferenceMode

Obtient ou définit une valeur qui indique si le jeton de sécurité de session fonctionne en mode référence.

KeyEffectiveTime

Obtient l’heure à partir de laquelle la clé de ce jeton est valide.

KeyExpirationTime

Obtient l’heure après laquelle la clé de ce jeton n’est plus valide.

KeyGeneration

Obtient l’identificateur de la génération de clé dans ce jeton.

SecureConversationVersion

Obtient un URI qui identifie la version de WS-Secure Conversation utilisée pour sérialiser ce jeton de sécurité de session.

SecurityKeys

Obtient les clés associées à cette session. Il s’agit généralement d’une clé unique.

ValidFrom

Obtient l’heure à partir de laquelle le jeton est valide.

ValidTo

Obtient l’heure après laquelle le jeton n’est plus valide.

Méthodes

Nom Description
CanCreateKeyIdentifierClause<T>()

Obtient une valeur qui indique si ce jeton de sécurité est capable de créer l’identificateur de clé spécifié.

(Hérité de SecurityToken)
CreateKeyIdentifierClause<T>()

Crée la clause d’identificateur de clé spécifiée.

(Hérité de SecurityToken)
Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetObjectData(SerializationInfo, StreamingContext)

Définit les SerializationInfo informations nécessaires pour sérialiser le jeton de sécurité de session.

GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MatchesKeyIdentifierClause(SecurityKeyIdentifierClause)

Retourne une valeur qui indique si l’identificateur de clé de cette instance peut être résolu en identificateur de clé spécifié.

(Hérité de SecurityToken)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ResolveKeyIdentifierClause(SecurityKeyIdentifierClause)

Obtient la clé de la clause d’identificateur de clé spécifiée.

(Hérité de SecurityToken)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

S’applique à

Voir aussi