MachineKeySessionSecurityTokenHandler Clase

Definición

Procesa los tokens de la sesión usando firma y claves de cifrado que se especifican en el elemento de ASP.NET <machineKey> en un archivo de configuración.

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

Ejemplos

El siguiente XML muestra cómo usar el elemento ASP.NET <machineKey> en la configuración para especificar explícitamente claves de firma y cifrado. El <machineKey> elemento se especifica en el <system.web> elemento de un archivo de configuración.

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

El siguiente XML muestra cómo agregar MachineKeySessionSecurityTokenHandler a una colección de controladores de tokens. El valor predeterminado SessionSecurityTokenHandler se quita primero de la colección. Los controladores de token se configuran en el <elemento 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>  

Comentarios

De forma predeterminada, la SessionSecurityTokenHandler clase usa la ProtectedDataCookieTransform clase , que usa la API de protección de datos (DPAPI), para proteger el token de sesión. DPAPI proporciona protección mediante las credenciales de usuario o equipo y almacena los datos clave en el perfil de usuario. Esto significa que un token de sesión firmado y cifrado en un equipo no se puede validar ni descifrar en otro equipo.

Por el contrario, la MachineKeySessionSecurityTokenHandler clase usa la MachineKeyTransform clase , que protege los datos de cookies de sesión mediante el material criptográfico especificado en el <machineKey> elemento del archivo de configuración. Esto significa que se pueden usar las mismas claves (y tokens de sesión) en varios equipos. Esto es especialmente importante cuando se implementa una aplicación en una granja de servidores web. Para obtener más información sobre cómo usar Windows Identity Foundation para proteger las aplicaciones que se implementan en una granja de servidores web, consulte WIF y Web Farms.

Configure la aplicación para que use MachineKeySessionSecurityTokenHandler al agregarlo a la colección de controladores de tokens. Si hay un controlador de este tipo, primero debe quitar SessionSecurityTokenHandler (o cualquier controlador derivado de la clase SessionSecurityTokenHandler) de la colección de controladores de tokens. Esto se debe a que MachineKeySessionSecurityTokenHandler se deriva de SessionSecurityTokenHandler y una colección de controladores de tokens no puede contener varios controladores de ningún tipo determinado.

Constructores

MachineKeySessionSecurityTokenHandler()

Inicializa una nueva instancia de la clase MachineKeySessionSecurityTokenHandler.

MachineKeySessionSecurityTokenHandler(TimeSpan)

Inicializa una nueva instancia de la clase MachineKeySessionSecurityTokenHandler que tiene la duración del token predeterminado especificada.

Propiedades

CanValidateToken

Obtiene un valor que indica si este controlador admite la validación de tokens de tipo SessionSecurityToken.

(Heredado de SessionSecurityTokenHandler)
CanWriteToken

Obtiene un valor que indica si este controlador puede escribir tokens de tipo SessionSecurityToken.

(Heredado de SessionSecurityTokenHandler)
Configuration

Obtiene o establece el objeto SecurityTokenHandlerConfiguration que proporciona la configuración de la instancia actual.

(Heredado de SecurityTokenHandler)
ContainingCollection

Obtiene la colección controladores de token que contiene la instancia actual.

(Heredado de SecurityTokenHandler)
CookieElementName

Obtiene el nombre del elemento de la cookie.

(Heredado de SessionSecurityTokenHandler)
CookieNamespace

Obtiene el espacio de nombres del elemento de la cookie.

(Heredado de SessionSecurityTokenHandler)
TokenLifetime

Obtiene o establece la duración de token.

(Heredado de SessionSecurityTokenHandler)
TokenType

Obtiene el tipo de los tokens que este controlador procesa.

(Heredado de SessionSecurityTokenHandler)
Transforms

Obtiene las transformaciones que se aplicarán a la cookie.

(Heredado de SessionSecurityTokenHandler)

Métodos

ApplyTransforms(Byte[], Boolean)

Aplique las transformaciones especificadas por la propiedad de Transforms a la cookie especificada para codificarla o descodificarla.

(Heredado de SessionSecurityTokenHandler)
CanReadKeyIdentifierClause(XmlReader)

Devuelve un valor que indica si el elemento XML al que hace referencia el lector XML especificado es una cláusula de identificador de clave que esta instancia puede deserializar.

(Heredado de SecurityTokenHandler)
CanReadToken(String)

Devuelve un valor que indica si la cadena especificada se puede deserializar como token del tipo procesado por esta instancia.

(Heredado de SecurityTokenHandler)
CanReadToken(XmlReader)

Devuelve un valor que indica si el lector está colocado en un elemento <wsc:SecurityContextToken> .

(Heredado de SessionSecurityTokenHandler)
CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

Devuelve un valor que indica si la instancia puede serializar la cláusula de identificador de clave especificada.

(Heredado de SecurityTokenHandler)
CreateSecurityTokenReference(SecurityToken, Boolean)

Cuando se reemplaza en una clase derivada, crea la referencia del token de seguridad para tokens procesados por esa clase. Un servicio de token de seguridad (STS) llama normalmente a este método.

(Heredado de SecurityTokenHandler)
CreateSessionSecurityToken(ClaimsPrincipal, String, String, DateTime, DateTime)

Crea un objeto SessionSecurityToken basándose en la entidad de seguridad de notificaciones especificada y en el intervalo de tiempo durante el que el token es válido.

(Heredado de SessionSecurityTokenHandler)
CreateToken(SecurityTokenDescriptor)

Crea un token de seguridad basándose en el descriptor de token especificado.

(Heredado de SessionSecurityTokenHandler)
DetectReplayedToken(SecurityToken)

Cuando se reemplaza en una clase derivada, produce una excepción si el token especificado se detecta como que se está volviendo a reproducir.

(Heredado de SecurityTokenHandler)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetTokenTypeIdentifiers()

Obtiene el URI de tipo de token para los tipos de token que este controlador puede procesar.

(Heredado de SessionSecurityTokenHandler)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
LoadCustomConfiguration(XmlNodeList)

Carga la configuración personalizado de XML.

(Heredado de SessionSecurityTokenHandler)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ReadKeyIdentifierClause(XmlReader)

Cuando se reemplaza en una clase derivada, deserializa el código XML al que hace referencia el lector XML especificado en una cláusula de identificador de clave que hace referencia a un token procesado por la clase derivada.

(Heredado de SecurityTokenHandler)
ReadToken(Byte[], SecurityTokenResolver)

Lee el SessionSecurityToken de una secuencia de bytes mediante el solucionador de token especificado.

(Heredado de SessionSecurityTokenHandler)
ReadToken(String)

Cuando se reemplaza en una clase derivada, deserializa la cadena especificada a un token del tipo procesado por la clase derivada.

(Heredado de SecurityTokenHandler)
ReadToken(XmlReader)

Lee SessionSecurityToken utilizando el lector de XML especificado.

(Heredado de SessionSecurityTokenHandler)
ReadToken(XmlReader, SecurityTokenResolver)

Lee SessionSecurityToken mediante el lector XML especificado y la resolución de token.

(Heredado de SessionSecurityTokenHandler)
SetTransforms(IEnumerable<CookieTransform>)

Establece las transformaciones que se aplicarán a las cookies.

(Heredado de SessionSecurityTokenHandler)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
TraceTokenValidationFailure(SecurityToken, String)

Hace un seguimiento del evento de error durante la validación de tokens de seguridad cuando está habilitado el seguimiento.

(Heredado de SecurityTokenHandler)
TraceTokenValidationSuccess(SecurityToken)

Hace un seguimiento de la validación correcta del evento de tokens de seguridad cuando está habilitado el seguimiento.

(Heredado de SecurityTokenHandler)
ValidateSession(SessionSecurityToken)

Determina si la sesión asociada al token especificado sigue siendo válida. La validez se determina comprobando las propiedades ValidFrom y ValidTo del token especificado. Se produce una excepción si la sesión ya no es válida.

(Heredado de SessionSecurityTokenHandler)
ValidateToken(SecurityToken)

Valida el token especificado y devuelve sus notificaciones.

(Heredado de SessionSecurityTokenHandler)
ValidateToken(SessionSecurityToken, String)

Valida el token de sesión especificado y devuelve sus notificaciones.

(Heredado de SessionSecurityTokenHandler)
WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

Cuando se invalida en una clase derivada, serializa la cláusula del identificador de clave especificada a XML. La cláusula de identificador de clave debe ser del tipo admitido por la clase derivada.

(Heredado de SecurityTokenHandler)
WriteToken(SecurityToken)

Cuando se reemplaza en una clase derivada, serializa el token de seguridad especificado en una cadena. El token debe ser del tipo procesado por la clase derivada.

(Heredado de SecurityTokenHandler)
WriteToken(SessionSecurityToken)

Serializa el token especificado en una matriz de bytes.

(Heredado de SessionSecurityTokenHandler)
WriteToken(XmlWriter, SecurityToken)

Serializa el token especificado mediante el sistema de escritura especificado XML.

(Heredado de SessionSecurityTokenHandler)

Se aplica a

Consulte también