Partager via


MachineKeySessionSecurityTokenHandler Classe

Définition

Traite les jetons de session à l'aide des clés de signature et de chiffrement spécifiées dans l'élément ASP.NET <machineKey> d'un fichier de configuration.

public ref class MachineKeySessionSecurityTokenHandler : System::IdentityModel::Tokens::SessionSecurityTokenHandler
public class MachineKeySessionSecurityTokenHandler : System.IdentityModel.Tokens.SessionSecurityTokenHandler
type MachineKeySessionSecurityTokenHandler = class
    inherit SessionSecurityTokenHandler
Public Class MachineKeySessionSecurityTokenHandler
Inherits SessionSecurityTokenHandler
Héritage
MachineKeySessionSecurityTokenHandler

Exemples

Le code XML suivant montre comment utiliser l’élément ASP.NET <machineKey> dans la configuration pour spécifier explicitement les clés de signature et de chiffrement. L’élément <machineKey> est spécifié sous l’élément <system.web> dans un fichier de configuration.

<machineKey compatibilityMode="Framework45" decryptionKey="CC510D … 8925E6" validationKey="BEAC8 … 6A4B1DE" />  

Le code XML suivant montre comment ajouter MachineKeySessionSecurityTokenHandler à une collection de gestionnaires de jetons. La valeur par défaut SessionSecurityTokenHandler est d’abord supprimée de la collection. Les gestionnaires de jetons sont configurés sous l’élément <securityTokenHandlers> .

<securityTokenHandlers>  
  <remove type="System.IdentityModel.Tokens.SessionSecurityTokenHandler, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />  
  <add type="System.IdentityModel.Services.Tokens.MachineKeySessionSecurityTokenHandler, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />  
</securityTokenHandlers>  

Remarques

Par défaut, la SessionSecurityTokenHandler classe utilise la ProtectedDataCookieTransform classe, qui utilise l’API de protection des données (DPAPI), pour protéger le jeton de session. L’interface DPAPI assure cette protection par le biais des informations d’identification de l’utilisateur ou de la machine, et stocke les données de clés dans le profil utilisateur. Cela signifie qu’un jeton de session signé et chiffré sur un ordinateur ne peut pas être validé ou déchiffré sur un autre ordinateur.

En revanche, la MachineKeySessionSecurityTokenHandler classe utilise la MachineKeyTransform classe, qui protège les données de cookie de session à l’aide du matériel de chiffrement spécifié dans l’élément <machineKey> dans le fichier de configuration. Cela signifie que les mêmes clés (et jetons de session) peuvent être utilisés sur plusieurs ordinateurs. Cela est particulièrement important lorsqu’une application est déployée dans une batterie de serveurs web. Pour plus d’informations sur l’utilisation de Windows Identity Foundation pour protéger les applications déployées dans une batterie de serveurs web, consultez WIF et Les batteries de serveurs web.

Configurez l’application pour qu’elle utilise le gestionnaire MachineKeySessionSecurityTokenHandler en l’ajoutant à la collection de gestionnaires de jetons. Si la collection contient le gestionnaire SessionSecurityTokenHandler (ou un gestionnaire dérivé de la classe SessionSecurityTokenHandler), vous devez d’abord supprimer ce gestionnaire. En effet MachineKeySessionSecurityTokenHandler , dérive de et une collection de SessionSecurityTokenHandler gestionnaires de jetons ne peut pas contenir plusieurs gestionnaires d’un type donné.

Constructeurs

MachineKeySessionSecurityTokenHandler()

Initialise une nouvelle instance de la classe MachineKeySessionSecurityTokenHandler.

MachineKeySessionSecurityTokenHandler(TimeSpan)

Initialise une nouvelle instance de la classe MachineKeySessionSecurityTokenHandler qui possède la durée de vie de jeton par défaut spécifiée.

Propriétés

CanValidateToken

Obtient une valeur qui indique si ce gestionnaire prend en charge la validation des jetons du type SessionSecurityToken.

(Hérité de SessionSecurityTokenHandler)
CanWriteToken

Obtient une valeur qui indique si ce gestionnaire peut écrire les jetons de type SessionSecurityToken.

(Hérité de SessionSecurityTokenHandler)
Configuration

Obtient ou définit l'objet SecurityTokenHandlerConfiguration qui fournit la configuration pour l'instance actuelle.

(Hérité de SecurityTokenHandler)
ContainingCollection

Obtient la collection de gestionnaires de jetons qui contient l'instance actuelle.

(Hérité de SecurityTokenHandler)
CookieElementName

Obtient le nom de l'élément de cookie.

(Hérité de SessionSecurityTokenHandler)
CookieNamespace

Obtient l'espace de noms pour l'élément de cookie.

(Hérité de SessionSecurityTokenHandler)
TokenLifetime

Obtient ou définit la durée de vie du jeton.

(Hérité de SessionSecurityTokenHandler)
TokenType

Obtient le type de jetons traités par ce gestionnaire.

(Hérité de SessionSecurityTokenHandler)
Transforms

Obtient les transformations qui seront appliquées au cookie.

(Hérité de SessionSecurityTokenHandler)

Méthodes

ApplyTransforms(Byte[], Boolean)

Applique les transformations spécifiées par la propriété Transforms pour encoder ou décoder le cookie spécifié.

(Hérité de SessionSecurityTokenHandler)
CanReadKeyIdentifierClause(XmlReader)

Retourne une valeur qui indique si l'élément XML dont il est fait référence par le lecteur XML spécifié est une clause de l'identificateur de clé qui peut être désérialisée par cette instance.

(Hérité de SecurityTokenHandler)
CanReadToken(String)

Retourne une valeur qui indique si la chaîne spécifiée peut être désérialisée comme un jeton du type traité par cette instance.

(Hérité de SecurityTokenHandler)
CanReadToken(XmlReader)

Retourne une valeur qui indique si le lecteur est positionné sur un élément <wsc:SecurityContextToken> .

(Hérité de SessionSecurityTokenHandler)
CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

Retourne une valeur qui indique si la clause d'identificateur de clé spécifiée peut être sérialisée par cette instance.

(Hérité de SecurityTokenHandler)
CreateSecurityTokenReference(SecurityToken, Boolean)

En cas de substitution dans une classe dérivée, crée la référence de jeton de sécurité pour les jetons traités par cette classe. Cette méthode est généralement appelée par un service d'émission de jeton de sécurité (STS).

(Hérité de SecurityTokenHandler)
CreateSessionSecurityToken(ClaimsPrincipal, String, String, DateTime, DateTime)

Crée un SessionSecurityToken en fonction du principal des revendications spécifié et de la plage horaire pendant laquelle le jeton est valide.

(Hérité de SessionSecurityTokenHandler)
CreateToken(SecurityTokenDescriptor)

Crée un jeton de sécurité en fonction du descripteur de jetons spécifié.

(Hérité de SessionSecurityTokenHandler)
DetectReplayedToken(SecurityToken)

En cas de substitution dans une classe dérivée, lève une exception si le jeton spécifié est identifié comme étant relu.

(Hérité de SecurityTokenHandler)
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)
GetTokenTypeIdentifiers()

Obtient les URI d'identificateur de type de jeton pour les types de jetons qui peuvent être gérés par ce gestionnaire.

(Hérité de SessionSecurityTokenHandler)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
LoadCustomConfiguration(XmlNodeList)

Charge la configuration personnalisée à partir du XML.

(Hérité de SessionSecurityTokenHandler)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ReadKeyIdentifierClause(XmlReader)

En cas de substitution dans une classe dérivée, désérialise le XML référencé par le lecteur XML spécifié en clause d'identificateur de clé qui référence un jeton traité par la classe dérivée.

(Hérité de SecurityTokenHandler)
ReadToken(Byte[], SecurityTokenResolver)

Lit le SessionSecurityToken d'un flux d'octets à l'aide du programme de résolution de jetons spécifié.

(Hérité de SessionSecurityTokenHandler)
ReadToken(String)

En cas de substitution dans une classe dérivée, désérialise la chaîne spécifiée en un jeton du type traité par cette classe dérivée.

(Hérité de SecurityTokenHandler)
ReadToken(XmlReader)

Lit le SessionSecurityToken à l'aide du lecteur XML spécifié.

(Hérité de SessionSecurityTokenHandler)
ReadToken(XmlReader, SecurityTokenResolver)

Lit le SessionSecurityToken à l'aide du lecteur XML et du programme de résolution de jeton spécifiés.

(Hérité de SessionSecurityTokenHandler)
SetTransforms(IEnumerable<CookieTransform>)

Définit les transformations qui seront appliquées aux cookies.

(Hérité de SessionSecurityTokenHandler)
ToString()

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

(Hérité de Object)
TraceTokenValidationFailure(SecurityToken, String)

Effectue le traçage de l'événement d'échec lors de la validation des jetons de sécurité lorsque le traçage est activé.

(Hérité de SecurityTokenHandler)
TraceTokenValidationSuccess(SecurityToken)

Effectue le traçage de la validation réussie de l'événement de jetons de sécurité lorsque le traçage est activé.

(Hérité de SecurityTokenHandler)
ValidateSession(SessionSecurityToken)

Détermine si la session associée au jeton spécifié est toujours valide. La validité est déterminée en vérifiant les propriétés ValidFrom et ValidTo du jeton spécifié. Exception levée si la session n'est plus valide.

(Hérité de SessionSecurityTokenHandler)
ValidateToken(SecurityToken)

Valide le jeton spécifié et retourne ses revendications.

(Hérité de SessionSecurityTokenHandler)
ValidateToken(SessionSecurityToken, String)

Valide le jeton de session spécifié et retourne ses revendications.

(Hérité de SessionSecurityTokenHandler)
WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

En cas de substitution dans une classe dérivée, sérialise la clause d'identificateur de clé spécifiée au format XML. La clause de l'identificateur de clé doit être du type pris en charge par la classe dérivée.

(Hérité de SecurityTokenHandler)
WriteToken(SecurityToken)

En cas de substitution dans une classe dérivée, sérialise le jeton de sécurité spécifié en chaîne. Le jeton doit être du type traité par la classe dérivée.

(Hérité de SecurityTokenHandler)
WriteToken(SessionSecurityToken)

Sérialise le jeton spécifié dans un tableau d'octets.

(Hérité de SessionSecurityTokenHandler)
WriteToken(XmlWriter, SecurityToken)

Sérialise le jeton spécifié à l'aide du writer XML spécifié.

(Hérité de SessionSecurityTokenHandler)

S’applique à

Voir aussi