MachineKeySessionSecurityTokenHandler Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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 |
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) |