SessionSecurityToken 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.
Define um token de segurança que contém os dados associados a uma sessão.
public ref class SessionSecurityToken : System::IdentityModel::Tokens::SecurityToken, System::Runtime::Serialization::ISerializable
[System.Serializable]
public class SessionSecurityToken : System.IdentityModel.Tokens.SecurityToken, System.Runtime.Serialization.ISerializable
[<System.Serializable>]
type SessionSecurityToken = class
inherit SecurityToken
interface ISerializable
Public Class SessionSecurityToken
Inherits SecurityToken
Implements ISerializable
- Herança
- Atributos
- Implementações
Comentários
Um token de sessão armazena o ClaimsPrincipal do usuário associado a uma sessão, bem como outros parâmetros que definem a sessão; por exemplo, os horários de início e término da sessão.
Em cenários passivos, as WSFederationAuthenticationModule chamadas para o SessionAuthenticationModule (SAM) do pipeline de autenticação para criar um token de sessão do ClaimsPrincipal que representa o usuário autenticado. O SAM usa o configurado SessionSecurityTokenHandler para criar o token e serializá-lo em um cookie (e desserializar o token de um cookie em solicitações subsequentes). O SAM usa uma instância de sua classe configurada CookieHandler para gravar o cookie de volta na resposta HTTP. Em seguida, esse cookie é retornado ao cliente e, em solicitações subsequentes, o cliente pode apresentar o cookie em vez de fazer uma viagem de ida e volta para o provedor de identidade para obter novamente um token de segurança. Para obter mais informações sobre como as sessões operam com o WIF, consulte Gerenciamento de sessão wif. Para obter informações sobre como usar sessões em cenários de web farm, consulte WIF e Web Farms.
Um token de sessão pode operar no modo de referência ou não. Se o token de sessão não estiver operando no modo de referência, todo o token será serializado no cookie de sessão armazenado no cliente. O token de sessão serializado pode ser bastante grande e, portanto, o cookie armazenado no cliente também pode ser bastante dimensionável. No modo de referência, em vez de serializar todo o token de sessão no cookie, o token é armazenado em um cache de token de segurança de sessão e apenas as informações usadas para gerar a chave necessária para recuperar o token do cache são armazenadas no cookie. Isso pode reduzir consideravelmente o tamanho do cookie. O cache de token de sessão é implementado por uma classe derivada de SessionSecurityTokenCache e a chave de cache é implementada pela SessionSecurityTokenCacheKey classe . As ContextId propriedades e KeyGeneration são usadas na SessionSecurityTokenCacheKey classe para gerar a chave de cache.
A IsReferenceMode propriedade determina se o token de sessão está no modo de referência ou não.
Importante
Para operar no modo de referência, a Microsoft recomenda fornecer um manipulador para o WSFederationAuthenticationModule.SessionSecurityTokenCreated evento no arquivo global.asax.cs e definir a IsReferenceMode propriedade no token passado na SessionSecurityTokenCreatedEventArgs.SessionToken propriedade . Isso garantirá que o token de sessão opere no modo de referência para cada solicitação e seja favorecido em vez de apenas definir a SessionAuthenticationModule.IsReferenceMode propriedade no Módulo de Autenticação de Sessão.
A SessionSecurityTokenHandler classe fornecida com WIF serializa o token de sessão como um elemento WS-Secure Conversation <wsc:SecurityContextToken>
.
Construtores
SessionSecurityToken(ClaimsPrincipal) |
Inicializa uma nova instância da classe SessionSecurityToken com base na entidade de segurança especificada. |
SessionSecurityToken(ClaimsPrincipal, String) |
Inicializa uma nova instância da classe SessionSecurityToken com base na entidade de segurança e no token de inicialização especificados. |
SessionSecurityToken(ClaimsPrincipal, String, Nullable<DateTime>, Nullable<DateTime>) |
Inicializa uma nova instância da classe SessionSecurityToken com base na entidade de segurança e no token de inicialização especificados; e com a hora de início e hora de expiração especificadas. |
SessionSecurityToken(ClaimsPrincipal, String, String, Nullable<DateTime>, Nullable<DateTime>) |
Inicializa uma nova instância da classe SessionSecurityToken com base na entidade de segurança e no token de inicialização especificados; e com a hora de início e hora de expiração especificadas. O novo token tem o escopo definido para o ponto de extremidade especificado. |
SessionSecurityToken(ClaimsPrincipal, TimeSpan) |
Inicializa uma nova instância da classe SessionSecurityToken com base na entidade de segurança especificada. O novo token é válido de UtcNow até o tempo de vida especificado. |
SessionSecurityToken(ClaimsPrincipal, UniqueId, String, String, DateTime, TimeSpan, SymmetricSecurityKey) |
Inicializa uma nova instância da classe SessionSecurityToken usando a entidade de segurança, ID de contexto, contexto, ponto de extremidade, carimbo de data/hora válido, tempo de vida e chave especificados. |
SessionSecurityToken(ClaimsPrincipal, UniqueId, String, String, Nullable<DateTime>, Nullable<DateTime>, SymmetricSecurityKey) |
Inicializa uma nova instância da classe SessionSecurityToken usando a entidade de segurança, ID de contexto, contexto, ponto de extremidade, hora de início, tempo de expiração e chave especificados. |
SessionSecurityToken(ClaimsPrincipal, UniqueId, String, String, TimeSpan, SymmetricSecurityKey) |
Inicializa uma nova instância da classe SessionSecurityToken usando a entidade de segurança, ID de contexto, contexto, ponto de extremidade, tempo de vida e chave especificados. |
SessionSecurityToken(SerializationInfo, StreamingContext) |
Inicializa uma nova instância da classe SessionSecurityToken com dados serializados. |
Propriedades
ClaimsPrincipal |
Obtém a entidade de declaração associada à sessão. |
Context |
Obtém um valor de contexto especificado pelo usuário. |
ContextId |
Obtém o identificador de contexto da sessão. |
EndpointId |
Obtém a ID do ponto de extremidade para a qual este token tem o escopo definido. |
Id |
Obtém o identificador exclusivo deste token. |
IsPersistent |
Obtém ou define um valor que indica se o cookie representado por este token é persistente. |
IsReferenceMode |
Obtém ou define um valor que indica se o token de segurança da sessão está operando no modo de referência. |
KeyEffectiveTime |
Obtém o instante de tempo do qual a chave neste token é válida. |
KeyExpirationTime |
Obtém o instante de tempo após o qual a chave neste token não é mais válida. |
KeyGeneration |
Obtém o identificador para a geração de chave neste token. |
SecureConversationVersion |
Obtém um URI que identifica a versão do WS-Secure Conversation usada para serializar este token de segurança da sessão. |
SecurityKeys |
Obtém as chaves associadas a esta sessão. Isto geralmente é uma única chave. |
ValidFrom |
Obtém o instante de tempo do qual o token é válido. |
ValidTo |
Obtém o instante de tempo após o qual o token não é mais válido. |
Métodos
CanCreateKeyIdentifierClause<T>() |
Obtém um valor que indica se esse token de segurança é capaz de criar o identificador de chave especificado. (Herdado de SecurityToken) |
CreateKeyIdentifierClause<T>() |
Cria a cláusula de identificador de chave especificada. (Herdado de SecurityToken) |
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) |
GetObjectData(SerializationInfo, StreamingContext) |
Define a SerializationInfo com as informações necessárias para serializar o token de segurança da sessão. |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MatchesKeyIdentifierClause(SecurityKeyIdentifierClause) |
Retorna um valor que indica se o identificador de chave para esta instância pode ser resolvido para o identificador de chave especificado. (Herdado de SecurityToken) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ResolveKeyIdentifierClause(SecurityKeyIdentifierClause) |
Obtém a chave para a cláusula de identificador de chave especificado. (Herdado de SecurityToken) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |