MachineKeySessionSecurityTokenHandler Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
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 |
| 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) |