MachineKeySessionSecurityTokenHandler Classe

Definição

Processa tokens de sessão utilizando chaves de assinatura e encriptação especificadas no elemento ASP.NET <machineKey> num ficheiro 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 seguinte mostra como usar o elemento ASP.NET <machineKey> na configuração para especificar explicitamente chaves de assinatura e encriptação. O <machineKey> elemento é especificado sob o <system.web> elemento num ficheiro de configuração.

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

O XML seguinte mostra como adicionar os MachineKeySessionSecurityTokenHandler a uma coleção de gestores de tokens. O padrão SessionSecurityTokenHandler é primeiro removido da coleção. Os gestores de tokens são configurados sob o <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>  

Observações

Por defeito, a SessionSecurityTokenHandler classe utiliza a ProtectedDataCookieTransform classe, que utiliza a API de Proteção de Dados (DPAPI), para proteger o token da sessão. O DPAPI oferece proteção utilizando as credenciais do utilizador ou da máquina e armazena os dados-chave no perfil do utilizador. Isto significa que um token de sessão assinado e encriptado num computador não pode ser validado ou desencriptado noutro computador.

Por contraste, a MachineKeySessionSecurityTokenHandler classe utiliza a MachineKeyTransform classe, que protege os dados dos cookies da sessão utilizando o material criptográfico especificado no <machineKey> elemento do ficheiro de configuração. Isto significa que as mesmas chaves (e tokens de sessão) podem ser usadas em vários computadores. Isto é particularmente importante quando uma aplicação é implementada numa web farm. Para mais informações sobre como usar Windows Identity Foundation para proteger aplicações implementadas numa web farm, consulte WIF e Web Farms.

Configure a aplicação para usar o MachineKeySessionSecurityTokenHandler adicionando-a à coleção de gestores de tokens. Deves primeiro remover o SessionSecurityTokenHandler (ou qualquer handler derivado da SessionSecurityTokenHandler classe) da coleção de tokens handlers, se tal handler estiver presente. Isto porque MachineKeySessionSecurityTokenHandler deriva de SessionSecurityTokenHandler e uma coleção de manipuladores de tokens não pode conter múltiplos manipuladores de qualquer tipo.

Construtores

Name Description
MachineKeySessionSecurityTokenHandler()

Inicializa uma nova instância da MachineKeySessionSecurityTokenHandler classe.

MachineKeySessionSecurityTokenHandler(TimeSpan)

Inicializa uma nova instância da MachineKeySessionSecurityTokenHandler classe que tenha a vida útil padrão do token especificada.

Propriedades

Name Description
CanValidateToken

Obtém um valor que indica se este handler suporta validação de tokens do tipo SessionSecurityToken.

(Herdado de SessionSecurityTokenHandler)
CanWriteToken

Obtém um valor que indica se este manipulador pode escrever tokens do tipo SessionSecurityToken.

(Herdado de SessionSecurityTokenHandler)
Configuration

Obtém ou define o SecurityTokenHandlerConfiguration objeto que fornece a configuração para a instância atual.

(Herdado de SecurityTokenHandler)
ContainingCollection

Obtém a coleção do handler de tokens que contém a instância atual.

(Herdado de SecurityTokenHandler)
CookieElementName

Recebe o nome para o elemento dos biscoitos.

(Herdado de SessionSecurityTokenHandler)
CookieNamespace

Obtém o namespace para o elemento cookie.

(Herdado de SessionSecurityTokenHandler)
TokenLifetime

Obtém ou define a vida útil do token.

(Herdado de SessionSecurityTokenHandler)
TokenType

Obtém o tipo de tokens que este handler processa.

(Herdado de SessionSecurityTokenHandler)
Transforms

Obtém as transformações que serão aplicadas ao cookie.

(Herdado de SessionSecurityTokenHandler)

Métodos

Name Description
ApplyTransforms(Byte[], Boolean)

Aplica as transformações especificadas pela Transforms propriedade para codificar ou decodificar o cookie especificado.

(Herdado de SessionSecurityTokenHandler)
CanReadKeyIdentifierClause(XmlReader)

Devolve um valor que indica se o elemento XML referido pelo leitor XML especificado é uma cláusula identificadora-chave que pode ser desserializada por esta instância.

(Herdado de SecurityTokenHandler)
CanReadToken(String)

Devolve um valor que indica se a cadeia especificada pode ser desserializada como um token do tipo processado por esta instância.

(Herdado de SecurityTokenHandler)
CanReadToken(XmlReader)

Devolve um valor que indica se o leitor está posicionado num <wsc:SecurityContextToken> elemento.

(Herdado de SessionSecurityTokenHandler)
CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

Devolve um valor que indica se a cláusula identificadora de chave especificada pode ser serializada por esta instância.

(Herdado de SecurityTokenHandler)
CreateSecurityTokenReference(SecurityToken, Boolean)

Quando sobreposto numa classe derivada, cria-se a referência do token de segurança para tokens processados por essa classe. Este método é normalmente chamado por um serviço de token de segurança (STS).

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

Cria um SessionSecurityToken com base no principal de reivindicações especificado e no intervalo de tempo durante o qual o token é válido.

(Herdado de SessionSecurityTokenHandler)
CreateToken(SecurityTokenDescriptor)

Cria um token de segurança com base no descritor do token especificado.

(Herdado de SessionSecurityTokenHandler)
DetectReplayedToken(SecurityToken)

Quando sobrescrito numa classe derivada, lança uma exceção se o token especificado for detetado como sendo rejogado.

(Herdado de SecurityTokenHandler)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetTokenTypeIdentifiers()

Obtém os URIs do tipo de token para os tipos de token que podem ser processados por este handler.

(Herdado de SessionSecurityTokenHandler)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadCustomConfiguration(XmlNodeList)

Carrega configuração personalizada a partir do XML.

(Herdado de SessionSecurityTokenHandler)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ReadKeyIdentifierClause(XmlReader)

Quando sobreposto numa classe derivada, desserializa o XML referenciado pelo leitor XML especificado para uma cláusula identificadora de chave que faz referência a um token processado pela classe derivada.

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

Lê a SessionSecurityToken partir de um fluxo de bytes usando o resolvedor de tokens especificado.

(Herdado de SessionSecurityTokenHandler)
ReadToken(String)

Quando sobreposta numa classe derivada, a cadeia especificada desserializa para um token do tipo processado pela classe derivada.

(Herdado de SecurityTokenHandler)
ReadToken(XmlReader, SecurityTokenResolver)

Lê usando SessionSecurityToken o leitor XML especificado e o resolvedor de tokens.

(Herdado de SessionSecurityTokenHandler)
ReadToken(XmlReader)

Lê o SessionSecurityToken usando o leitor XML especificado.

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

Define as transformações que serão aplicadas aos cookies.

(Herdado de SessionSecurityTokenHandler)
ToString()

Devolve uma cadeia 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 rastreio está ativado.

(Herdado de SecurityTokenHandler)
TraceTokenValidationSuccess(SecurityToken)

Rastreia o evento de validação bem-sucedida dos tokens de segurança quando o rastreio está ativado.

(Herdado de SecurityTokenHandler)
ValidateSession(SessionSecurityToken)

Determina se a sessão associada ao token especificado ainda é válida. A validade é determinada verificando as ValidFrom propriedades e ValidTo do token especificado. É lançada uma exceção se a sessão deixar de ser válida.

(Herdado de SessionSecurityTokenHandler)
ValidateToken(SecurityToken)

Valida o token especificado e devolve as suas reivindicações.

(Herdado de SessionSecurityTokenHandler)
ValidateToken(SessionSecurityToken, String)

Valida o token de sessão especificado e devolve as suas reivindicações.

(Herdado de SessionSecurityTokenHandler)
WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

Quando sobreposta numa classe derivada, serializa a cláusula identificadora de chave especificada para XML. A cláusula identificadora de chave deve ser do tipo suportado pela classe derivada.

(Herdado de SecurityTokenHandler)
WriteToken(SecurityToken)

Quando sobrescrito numa classe derivada, serializa o token de segurança especificado para uma cadeia. O token deve ser do tipo processado pela classe derivada.

(Herdado de SecurityTokenHandler)
WriteToken(SessionSecurityToken)

Serializa o token especificado num array de bytes.

(Herdado de SessionSecurityTokenHandler)
WriteToken(XmlWriter, SecurityToken)

Serializa o token especificado usando o escritor XML especificado.

(Herdado de SessionSecurityTokenHandler)

Aplica-se a

Ver também