MachineKeySessionSecurityTokenHandler Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Processa tokens de sessão usando chaves de criptografia e de assinatura especificadas no elemento <machineKey>
ASP.NET em um arquivo de configuração.
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
- Herança
Exemplos
O XML a seguir mostra como usar o elemento ASP.NET <machineKey>
na configuração para especificar explicitamente chaves de assinatura e criptografia. O <machineKey>
elemento é especificado sob o <system.web>
elemento em um arquivo de configuração.
<machineKey compatibilityMode="Framework45" decryptionKey="CC510D … 8925E6" validationKey="BEAC8 … 6A4B1DE" />
O XML a seguir mostra como adicionar o MachineKeySessionSecurityTokenHandler a uma coleção de manipuladores de token. O padrão SessionSecurityTokenHandler é removido pela primeira vez da coleção. Os manipuladores de token são configurados no <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>
Comentários
Por padrão, a SessionSecurityTokenHandler classe usa a ProtectedDataCookieTransform classe , que usa a API de Proteção de Dados (DPAPI), para proteger o token de sessão. A DPAPI fornece proteção usando as credenciais do usuário ou do computador e armazena os dados de chave no perfil do usuário. Isso significa que um token de sessão assinado e criptografado em um computador não pode ser validado ou descriptografado em um computador diferente.
Por outro lado, a MachineKeySessionSecurityTokenHandler classe usa a MachineKeyTransform classe , que protege os dados de cookie de sessão usando o material criptográfico especificado no <machineKey>
elemento no arquivo de configuração. Isso significa que as mesmas chaves (e tokens de sessão) podem ser usadas em vários computadores. Isso é particularmente importante quando um aplicativo é implantado em um farm da Web. Para obter mais informações sobre como usar o Windows Identity Foundation para proteger aplicativos implantados em um farm da Web, consulte WIF e Web Farms.
Configure o aplicativo para usar o MachineKeySessionSecurityTokenHandler adicionando-o à coleção de manipuladores de token. Primeiro você deverá remover o SessionSecurityTokenHandler (ou qualquer manipulador derivado da classe SessionSecurityTokenHandler) da coleção de manipuladores de token se um manipulador desse tipo estiver presente. Isso ocorre porque MachineKeySessionSecurityTokenHandler deriva de e uma coleção de manipuladores de SessionSecurityTokenHandler token não pode conter vários manipuladores de um determinado tipo.
Construtores
MachineKeySessionSecurityTokenHandler() |
Inicializa uma nova instância da classe MachineKeySessionSecurityTokenHandler. |
MachineKeySessionSecurityTokenHandler(TimeSpan) |
Inicializa uma nova instância da classe MachineKeySessionSecurityTokenHandler que tem o tempo de vida padrão de token especificado. |
Propriedades
CanValidateToken |
Obtém um valor que indica se esse manipulador é compatível com a validação de tokens do tipo SessionSecurityToken. (Herdado de SessionSecurityTokenHandler) |
CanWriteToken |
Obtém um valor que indica se esse manipulador é capaz de gravar tokens do tipo SessionSecurityToken. (Herdado de SessionSecurityTokenHandler) |
Configuration |
Obtém ou define o objeto SecurityTokenHandlerConfiguration que fornece a configuração para a instância atual. (Herdado de SecurityTokenHandler) |
ContainingCollection |
Obtém a coleção de manipuladores de token que contém a instância atual. (Herdado de SecurityTokenHandler) |
CookieElementName |
Obtém o nome do elemento de cookie. (Herdado de SessionSecurityTokenHandler) |
CookieNamespace |
Obtém o namespace do elemento de cookie. (Herdado de SessionSecurityTokenHandler) |
TokenLifetime |
Obtém ou define o tempo de vida do token. (Herdado de SessionSecurityTokenHandler) |
TokenType |
Obtém o tipo dos tokens que esse manipulador processa. (Herdado de SessionSecurityTokenHandler) |
Transforms |
Obtém as transformações que serão aplicadas ao cookie. (Herdado de SessionSecurityTokenHandler) |
Métodos
ApplyTransforms(Byte[], Boolean) |
Aplica as transformações especificadas pela propriedade Transforms para codificar ou decodificar o cookie especificado. (Herdado de SessionSecurityTokenHandler) |
CanReadKeyIdentifierClause(XmlReader) |
Retorna um valor que indica que se o elemento XML consultado pelo leitor de XML especificado é uma cláusula de identificador de chave que pode ser desserializada por esta instância. (Herdado de SecurityTokenHandler) |
CanReadToken(String) |
Retorna um valor que indica se a cadeia de caracteres especificada pode ser desserializada como um token do tipo processado por esta instância. (Herdado de SecurityTokenHandler) |
CanReadToken(XmlReader) |
Retorna um valor que indica se o leitor está posicionado em um elemento |
CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause) |
Retorna um valor que indica se a cláusula de identificador de chave especificada pode ser serializada por esta instância. (Herdado de SecurityTokenHandler) |
CreateSecurityTokenReference(SecurityToken, Boolean) |
Quando substituído em uma classe derivada, cria a referência de token de segurança para tokens processados por essa classe. Este método é geralmente chamado por um STS (serviço de token de segurança). (Herdado de SecurityTokenHandler) |
CreateSessionSecurityToken(ClaimsPrincipal, String, String, DateTime, DateTime) |
Cria um SessionSecurityToken com base na entidade de declarações e intervalo de tempo especificados durante o qual o token é válido. (Herdado de SessionSecurityTokenHandler) |
CreateToken(SecurityTokenDescriptor) |
Cria um token de segurança com base no descritor de token especificado. (Herdado de SessionSecurityTokenHandler) |
DetectReplayedToken(SecurityToken) |
Quando substituído em uma classe derivada, gera uma exceção se o token especificado é detectado como sendo reproduzido. (Herdado de SecurityTokenHandler) |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetTokenTypeIdentifiers() |
Obtém os URIs de tipo de token para os tipos de token que podem ser processados por esse manipulador. (Herdado de SessionSecurityTokenHandler) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
LoadCustomConfiguration(XmlNodeList) |
Carrega a configuração personalizada do XML. (Herdado de SessionSecurityTokenHandler) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ReadKeyIdentifierClause(XmlReader) |
Quando substituído em uma classe derivada, desserializa o XML referenciado pelo leitor de XML especificado para uma cláusula de identificador de chave que referencia um token processado pela classe derivada. (Herdado de SecurityTokenHandler) |
ReadToken(Byte[], SecurityTokenResolver) |
Lê o SessionSecurityToken de um fluxo de bytes usando o resolvedor de token especificado. (Herdado de SessionSecurityTokenHandler) |
ReadToken(String) |
Quando substituído em uma classe derivada, desserializa a cadeia de caracteres especificada para um token do tipo processado pela classe derivada. (Herdado de SecurityTokenHandler) |
ReadToken(XmlReader) |
Lê o SessionSecurityToken usando o leitor de XML especificado. (Herdado de SessionSecurityTokenHandler) |
ReadToken(XmlReader, SecurityTokenResolver) |
Lê o SessionSecurityToken usando o resolvedor de token e o leitor XML especificado. (Herdado de SessionSecurityTokenHandler) |
SetTransforms(IEnumerable<CookieTransform>) |
Define as transformações que serão aplicadas aos cookies. (Herdado de SessionSecurityTokenHandler) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
TraceTokenValidationFailure(SecurityToken, String) |
Rastreia o evento de falha durante a validação dos tokens de segurança quando o rastreamento está habilitado. (Herdado de SecurityTokenHandler) |
TraceTokenValidationSuccess(SecurityToken) |
Rastreia a validação bem-sucedida do evento de tokens de segurança quando o rastreamento está habilitado. (Herdado de SecurityTokenHandler) |
ValidateSession(SessionSecurityToken) |
Determina se a sessão associada ao token especificado ainda é válida. A validade é determinada verificando as propriedades ValidFrom e ValidTo do token especificado. Uma exceção é gerada se a sessão não for mais válida. (Herdado de SessionSecurityTokenHandler) |
ValidateToken(SecurityToken) |
Valida o token especificado e retorna suas declarações. (Herdado de SessionSecurityTokenHandler) |
ValidateToken(SessionSecurityToken, String) |
Valida o token de sessão especificado e retorna suas declarações. (Herdado de SessionSecurityTokenHandler) |
WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause) |
Quando substituído em uma classe derivada, serializa a cláusula de identificador de chave especificado no XML. A cláusula do identificador de chave deve ser do tipo com suporte na classe derivada. (Herdado de SecurityTokenHandler) |
WriteToken(SecurityToken) |
Quando substituído em uma classe derivada, serializa o token de segurança especificado em uma cadeia de caracteres. O token deve ser do tipo processado pela classe derivada. (Herdado de SecurityTokenHandler) |
WriteToken(SessionSecurityToken) |
Serializa o token especificado em uma matriz de bytes. (Herdado de SessionSecurityTokenHandler) |
WriteToken(XmlWriter, SecurityToken) |
Serializa o token especificado usando o gravador XML especificado. (Herdado de SessionSecurityTokenHandler) |