SessionSecurityToken Classe

Definição

Define um token de segurança que contém 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

Observações

Um token de sessão armazena o ClaimsPrincipal valor do utilizador associado a uma sessão, bem como outros parâmetros que definem a sessão; por exemplo, os horários de início e fim da sessão.

Em cenários passivos, as WSFederationAuthenticationModule chamadas para o SessionAuthenticationModule (SAM) a partir do pipeline de autenticação criam um token de sessão a partir do ClaimsPrincipal que representa o utilizador autenticado. O SAM utiliza a sua configuração SessionSecurityTokenHandler para criar o token e serializá-lo num cookie (e para desserializar o token de um cookie em pedidos subsequentes). O SAM utiliza uma instância da sua classe configurada CookieHandler para escrever o cookie de volta na Resposta HTTP. Este cookie é então devolvido ao cliente e, em pedidos subsequentes, este pode apresentar o cookie em vez de fazer uma viagem de ida e volta ao fornecedor de identidade para recuperar um token de segurança. Para mais informações sobre como as sessões funcionam com a WIF, consulte Gestão de Sessões da WIF. Para informações sobre a utilização de sessões em cenários de Webfarms, consulte WIF e Web Farms.

Um token de sessão pode operar em qualquer modo de referência ou não. Se o token de sessão não estiver a operar em modo de referência, todo o token é serializado para o cookie de sessão armazenado no cliente. O token de sessão serializada pode ser bastante grande e, por isso, o cookie armazenado no cliente também pode ser bastante grande. No modo de referência, em vez de serializar todo o token da sessão no cookie, o token é armazenado numa cache de token de segurança de sessão e apenas a informação usada para gerar a chave necessária para recuperar o token da cache é armazenada no cookie. Isto pode reduzir muito o tamanho da bolacha. A cache de token de sessão é implementada 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á em modo de referência ou não.

Important

Para operar em modo de referência, Microsoft recomenda fornecer um handler para o evento WSFederationAuthenticationModule.SessionSecurityTokenCreated no ficheiro global.asax.cs e definir a propriedade IsReferenceMode no token passado na propriedade SessionSecurityTokenCreatedEventArgs.SessionToken. Isto garantirá que o token de sessão opera em modo de referência para cada pedido e é preferido em vez de simplesmente 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

Name Description
SessionSecurityToken(ClaimsPrincipal, String, Nullable<DateTime>, Nullable<DateTime>)

Inicializa uma nova instância da SessionSecurityToken classe a partir do principal e token bootstrap especificados; e com a hora de início e expiração especificados.

SessionSecurityToken(ClaimsPrincipal, String, String, Nullable<DateTime>, Nullable<DateTime>)

Inicializa uma nova instância da SessionSecurityToken classe a partir do principal e token bootstrap especificados; e com a hora de início e expiração especificados. O novo token é direcionado para o endpoint especificado.

SessionSecurityToken(ClaimsPrincipal, String)

Inicializa uma nova instância da SessionSecurityToken classe a partir do principal especificado e do token bootstrap.

SessionSecurityToken(ClaimsPrincipal, TimeSpan)

Inicializa uma nova instância da SessionSecurityToken classe a partir do principal especificado. O novo token é válido até UtcNow ao longo da vida útil especificada.

SessionSecurityToken(ClaimsPrincipal, UniqueId, String, String, DateTime, TimeSpan, SymmetricSecurityKey)

Inicializa uma nova instância da SessionSecurityToken classe usando o princípio especificado, o ID de contexto, o contexto, o endpoint, o carimbo temporal válido, o tempo de vida e a chave especificados.

SessionSecurityToken(ClaimsPrincipal, UniqueId, String, String, Nullable<DateTime>, Nullable<DateTime>, SymmetricSecurityKey)

Inicializa uma nova instância da SessionSecurityToken classe usando o princípio especificado, ID de contexto, contexto, endpoint, hora de início, tempo de expiração e chave.

SessionSecurityToken(ClaimsPrincipal, UniqueId, String, String, TimeSpan, SymmetricSecurityKey)

Inicializa uma nova instância da SessionSecurityToken classe usando o principal, o ID de contexto, o contexto, o endpoint, o tempo de vida e a chave especificados.

SessionSecurityToken(ClaimsPrincipal)

Inicializa uma nova instância da SessionSecurityToken classe a partir do principal especificado.

SessionSecurityToken(SerializationInfo, StreamingContext)

Inicializa uma nova instância da SessionSecurityToken classe com dados serializados.

Propriedades

Name Description
ClaimsPrincipal

Obtém o principal das reclamações associado à sessão.

Context

Recebe um valor de contexto especificado pelo utilizador.

ContextId

Obtém o identificador de contexto da sessão.

EndpointId

Obtém o ID do endpoint para o qual este token é direcionado.

Id

Obtém o identificador único deste token.

IsPersistent

Recebe ou define um valor que indica se o cookie representado por este token é persistente.

IsReferenceMode

Recebe ou define um valor que indica se o token de segurança da sessão está a operar em modo de referência.

KeyEffectiveTime

Obtém o instante temporal a partir do qual a chave neste token é válida.

KeyExpirationTime

Obtém o instante temporal após o qual a chave neste token deixa de ser válida.

KeyGeneration

Obtém o identificador para a geração de chave neste token.

SecureConversationVersion

Recebe um URI que identifica a versão de WS-Secure Conversa usada para serializar este token de segurança de sessão.

SecurityKeys

Obtém as chaves associadas a esta sessão. Normalmente é uma única chave.

ValidFrom

Obtém o instante temporal a partir do qual o token é válido.

ValidTo

Recebe o instante temporal após o qual o token deixa de ser válido.

Métodos

Name Description
CanCreateKeyIdentifierClause<T>()

Recebe um valor que indica se este token de segurança é capaz de criar o identificador de chave especificado.

(Herdado de SecurityToken)
CreateKeyIdentifierClause<T>()

Cria a cláusula identificadora de chave especificada.

(Herdado de SecurityToken)
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)
GetObjectData(SerializationInfo, StreamingContext)

Define o SerializationInfo com a informação necessária para serializar o token de segurança da sessão.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MatchesKeyIdentifierClause(SecurityKeyIdentifierClause)

Devolve um valor que indica se o identificador de chave desta instância pode ser resolvido para o identificador de chave especificado.

(Herdado de SecurityToken)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ResolveKeyIdentifierClause(SecurityKeyIdentifierClause)

Obtém a chave para a cláusula identificadora de chave especificada.

(Herdado de SecurityToken)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também