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