Partilhar via


MachineKeySessionSecurityTokenHandler Classe

Definição

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
MachineKeySessionSecurityTokenHandler

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 <wsc:SecurityContextToken>.

(Herdado de SessionSecurityTokenHandler)
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)

Aplica-se a

Confira também