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