Partage 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 le ClaimsPrincipal de l’utilisateur 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 la session.

Dans les scénarios passifs, les WSFederationAuthenticationModule appels au SessionAuthenticationModule (SAM) à partir du pipeline d’authentification pour créer un jeton de session à partir du ClaimsPrincipal qui représente l’utilisateur authentifié. 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 lors des requêtes suivantes). 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, sur les demandes suivantes, le client peut présenter le cookie plutôt que d’effectuer 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 Les batteries de serveurs web.

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, le jeton entier est sérialisé dans le cookie de session stocké sur le client. Le jeton de session sérialisé peut être assez volumineux et, par conséquent, le cookie stocké sur le client peut également être assez important. En mode référence, au lieu de sérialiser le jeton de session entier dans le cookie, le jeton est stocké dans un cache de jeton de sécurité de session et seules 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 jetons de session est implémenté par une classe dérivée de SessionSecurityTokenCache et la clé de cache est implémentée par la SessionSecurityTokenCacheKey classe . Les ContextId propriétés et KeyGeneration 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 préféré à la simple 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 WS-Secure Conversation <wsc:SecurityContextToken> .

Constructeurs

SessionSecurityToken(ClaimsPrincipal)

Initialise une nouvelle instance de la classe SessionSecurityToken issue du serveur principal spécifié.

SessionSecurityToken(ClaimsPrincipal, String)

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

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

Initialise une nouvelle instance de la classe SessionSecurityToken à partir du principal et du jeton de démarrage 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 classe SessionSecurityToken à partir du principal et du jeton de démarrage spécifiés, et avec l'heure de début et l'heure d'expiration spécifiées. Le nouveau jeton est limité au point de terminaison spécifié.

SessionSecurityToken(ClaimsPrincipal, TimeSpan)

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

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

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

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

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

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

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

SessionSecurityToken(SerializationInfo, StreamingContext)

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

Propriétés

ClaimsPrincipal

Obtient le principal des 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 indiquant si le jeton de sécurité de session fonctionne en mode de référence.

KeyEffectiveTime

Obtient l'instant T à partir duquel la clé de ce jeton est valide.

KeyExpirationTime

Obtient l'instant après lequel la clé de ce jeton n'est plus valide.

KeyGeneration

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

SecureConversationVersion

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

SecurityKeys

Obtient les clés associées à cette session. Il s'agit habituellement d'une clé unique.

ValidFrom

Obtient l'instant à partir duquel le jeton est valide.

ValidTo

Obtient l'instant après lequel le jeton n'est plus valide.

Méthodes

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()

Fait office de fonction de hachage par défaut.

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

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

GetType()

Obtient le Type de l'instance actuelle.

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

Retourne une valeur qui indique si l'identificateur de clé pour cette instance peut être résolu à la clause d'identificateur de clé spécifiée.

(Hérité de SecurityToken)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

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

Obtient la clé pour 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