SessionSecurityToken Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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) |