MachineKeySessionSecurityTokenHandler Class

Definition

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.Processes session tokens by using signing and encryption keys specified in the ASP.NET <machineKey> element in a configuration file.

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
Inheritance
MachineKeySessionSecurityTokenHandler

Examples

Le code XML suivant montre comment utiliser l’élément ASP.NET <machineKey> dans Configuration pour spécifier explicitement les clés de signature et de chiffrement.The following XML shows how to use the ASP.NET <machineKey> element in configuration to explicitly specify signing and encryption keys. L’élément <machineKey> est spécifié sous l’élément <system.web> dans un fichier de configuration.The <machineKey> element is specified under the <system.web> element in a configuration file.

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

Le code XML suivant montre comment ajouter MachineKeySessionSecurityTokenHandler à une collection de gestionnaires de jetons.The following XML shows how to add the MachineKeySessionSecurityTokenHandler to a token handler collection. La SessionSecurityTokenHandler par défaut est d’abord supprimée de la collection.The default SessionSecurityTokenHandler is first removed from the collection. Les gestionnaires de jetons sont configurés sous l’élément <securityTokenHandlers> .Token handlers are configured under the <securityTokenHandlers> element.

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

Remarks

Par défaut, la classe SessionSecurityTokenHandler utilise la classe ProtectedDataCookieTransform, qui utilise l’API de protection des données (DPAPI) pour protéger le jeton de session.By default, the SessionSecurityTokenHandler class uses the ProtectedDataCookieTransform class, which uses the Data Protection API (DPAPI), to protect the session token. 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.The DPAPI provides protection by using the user or machine credentials and stores the key data in the user profile. 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.This means that a session token signed and encrypted on one computer cannot be validated or decrypted on a different computer.

En revanche, la classe MachineKeySessionSecurityTokenHandler utilise la classe MachineKeyTransform, 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.By contrast, the MachineKeySessionSecurityTokenHandler class uses the MachineKeyTransform class, which protects the session cookie data by using the cryptographic material specified in the <machineKey> element in the configuration file. Cela signifie que les mêmes clés (et jetons de session) peuvent être utilisées sur plusieurs ordinateurs.This means that the same keys (and session tokens) can be used across multiple computers. Cela est particulièrement important quand une application est déployée dans une batterie de serveurs Web.This is particularly important when an application is deployed in a web farm. Pour plus d’informations sur l’utilisation de Windows Identity Foundation pour protéger des applications qui sont déployées dans une batterie de serveurs Web, consultez WIF et batteriesde serveurs Web.For more information about how to use Windows Identity Foundation to protect applications that are deployed in a web farm, see WIF and Web Farms.

Configurez l’application pour qu’elle utilise le gestionnaire MachineKeySessionSecurityTokenHandler en l’ajoutant à la collection de gestionnaires de jetons.Configure the application to use the MachineKeySessionSecurityTokenHandler by adding it to the token handler collection. Si la collection contient le gestionnaire SessionSecurityTokenHandler (ou un gestionnaire dérivé de la classe SessionSecurityTokenHandler), vous devez d’abord supprimer ce gestionnaire.You must first remove the SessionSecurityTokenHandler (or any handler derived from the SessionSecurityTokenHandler class) from the token handler collection if such a handler is present. En effet, MachineKeySessionSecurityTokenHandler dérive de SessionSecurityTokenHandler et une collection de gestionnaires de jetons ne peut pas contenir plusieurs gestionnaires d’un type donné.This is because MachineKeySessionSecurityTokenHandler derives from SessionSecurityTokenHandler and a token handler collection cannot contain multiple handlers of any given type.

Constructors

MachineKeySessionSecurityTokenHandler()

Initialise une nouvelle instance de la classe MachineKeySessionSecurityTokenHandler.Initializes a new instance of the MachineKeySessionSecurityTokenHandler class.

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.Initializes a new instance of the MachineKeySessionSecurityTokenHandler class that has the specified default token lifetime.

Properties

CanValidateToken

Obtient une valeur qui indique si ce gestionnaire prend en charge la validation des jetons du type SessionSecurityToken.Gets a value that indicates whether this handler supports validation of tokens of type SessionSecurityToken.

(Inherited from SessionSecurityTokenHandler)
CanWriteToken

Obtient une valeur qui indique si ce gestionnaire peut écrire les jetons de type SessionSecurityToken.Gets a value that indicates whether this handler can write tokens of type SessionSecurityToken.

(Inherited from SessionSecurityTokenHandler)
Configuration

Obtient ou définit l'objet SecurityTokenHandlerConfiguration qui fournit la configuration pour l'instance actuelle.Gets or sets the SecurityTokenHandlerConfiguration object that provides configuration for the current instance.

(Inherited from SecurityTokenHandler)
ContainingCollection

Obtient la collection de gestionnaires de jetons qui contient l'instance actuelle.Gets the token handler collection that contains the current instance.

(Inherited from SecurityTokenHandler)
CookieElementName

Obtient le nom de l'élément de cookie.Gets the name for the cookie element.

(Inherited from SessionSecurityTokenHandler)
CookieNamespace

Obtient l'espace de noms pour l'élément de cookie.Gets the namespace for the cookie element.

(Inherited from SessionSecurityTokenHandler)
TokenLifetime

Obtient ou définit la durée de vie du jeton.Gets or sets the token lifetime.

(Inherited from SessionSecurityTokenHandler)
TokenType

Obtient le type de jetons traités par ce gestionnaire.Gets the type of the tokens that this handler processes.

(Inherited from SessionSecurityTokenHandler)
Transforms

Obtient les transformations qui seront appliquées au cookie.Gets the transforms that will be applied to the cookie.

(Inherited from SessionSecurityTokenHandler)

Methods

ApplyTransforms(Byte[], Boolean)

Applique les transformations spécifiées par la propriété Transforms pour encoder ou décoder le cookie spécifié.Applies the transforms specified by the Transforms property to either encode or decode the specified cookie.

(Inherited from 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.Returns a value that indicates whether the XML element referred to by the specified XML reader is a key identifier clause that can be deserialized by this instance.

(Inherited from 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.Returns a value that indicates whether the specified string can be deserialized as a token of the type processed by this instance.

(Inherited from SecurityTokenHandler)
CanReadToken(XmlReader)

Retourne une valeur qui indique si le lecteur est positionné sur un élément <wsc:SecurityContextToken> .Returns a value that indicates whether the reader is positioned at a <wsc:SecurityContextToken> element.

(Inherited from 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.Returns a value that indicates whether the specified key identifier clause can be serialized by this instance.

(Inherited from 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.When overridden in a derived class, creates the security token reference for tokens processed by that class. Cette méthode est généralement appelée par un service d'émission de jeton de sécurité (STS).This method is typically called by a security token service (STS).

(Inherited from 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.Creates a SessionSecurityToken based on the specified claims principal and time range during which the token is valid.

(Inherited from SessionSecurityTokenHandler)
CreateToken(SecurityTokenDescriptor)

Crée un jeton de sécurité en fonction du descripteur de jetons spécifié.Creates a security token based on the specified token descriptor.

(Inherited from 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.When overridden in a derived class, throws an exception if the specified token is detected as being replayed.

(Inherited from SecurityTokenHandler)
Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from 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.Gets the token type URIs for the token types that can be processed by this handler.

(Inherited from SessionSecurityTokenHandler)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
LoadCustomConfiguration(XmlNodeList)

Charge la configuration personnalisée à partir du XML.Loads custom configuration from XML.

(Inherited from SessionSecurityTokenHandler)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Inherited from 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.When overridden in a derived class, deserializes the XML referenced by the specified XML reader to a key identifier clause that references a token processed by the derived class.

(Inherited from SecurityTokenHandler)
ReadToken(Byte[], SecurityTokenResolver)

Lit le SessionSecurityToken d'un flux d'octets à l'aide du programme de résolution de jetons spécifié.Reads the SessionSecurityToken from a stream of bytes by using the specified token resolver.

(Inherited from 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.When overridden in a derived class, deserializes the specified string to a token of the type processed by the derived class.

(Inherited from SecurityTokenHandler)
ReadToken(XmlReader)

Lit le SessionSecurityToken à l'aide du lecteur XML spécifié.Reads the SessionSecurityToken using the specified XML reader.

(Inherited from SessionSecurityTokenHandler)
ReadToken(XmlReader, SecurityTokenResolver)

Lit le SessionSecurityToken à l'aide du lecteur XML et du programme de résolution de jeton spécifiés.Reads the SessionSecurityToken using the specified XML reader and token resolver.

(Inherited from SessionSecurityTokenHandler)
SetTransforms(IEnumerable<CookieTransform>)

Définit les transformations qui seront appliquées aux cookies.Sets the transforms that will be applied to cookies.

(Inherited from SessionSecurityTokenHandler)
ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from 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é.Traces the failure event during the validation of security tokens when tracing is enabled.

(Inherited from 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é.Traces the successful validation of security tokens event when tracing is enabled.

(Inherited from SecurityTokenHandler)
ValidateSession(SessionSecurityToken)

Détermine si la session associée au jeton spécifié est toujours valide.Determines whether the session associated with the specified token is still valid. La validité est déterminée en vérifiant les propriétés ValidFrom et ValidTo du jeton spécifié.Validity is determined by checking the ValidFrom and ValidTo properties of the specified token. Exception levée si la session n'est plus valide.An exception is thrown if the session is no longer valid.

(Inherited from SessionSecurityTokenHandler)
ValidateToken(SecurityToken)

Valide le jeton spécifié et retourne ses revendications.Validates the specified token and returns its claims.

(Inherited from SessionSecurityTokenHandler)
ValidateToken(SessionSecurityToken, String)

Valide le jeton de session spécifié et retourne ses revendications.Validates the specified session token and returns its claims.

(Inherited from 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.When overridden in a derived class, serializes the specified key identifier clause to XML. La clause de l'identificateur de clé doit être du type pris en charge par la classe dérivée.The key identifier clause must be of the type supported by the derived class.

(Inherited from 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.When overridden in a derived class, serializes the specified security token to a string. Le jeton doit être du type traité par la classe dérivée.The token must be of the type processed by the derived class.

(Inherited from SecurityTokenHandler)
WriteToken(SessionSecurityToken)

Sérialise le jeton spécifié dans un tableau d'octets.Serializes the specified token into a byte array.

(Inherited from SessionSecurityTokenHandler)
WriteToken(XmlWriter, SecurityToken)

Sérialise le jeton spécifié à l'aide du writer XML spécifié.Serializes the specified token by using the specified XML writer.

(Inherited from SessionSecurityTokenHandler)

Applies to

See also