Partilhar via


SessionSecurityToken Classe

Definição

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
SessionSecurityToken
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)

Aplica-se a

Confira também