SessionSecurityToken Clase

Definición

Define un token de seguridad que contiene los datos asociados a una sesión.

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
Herencia
SessionSecurityToken
Atributos
Implementaciones

Comentarios

Un token de sesión almacena el ClaimsPrincipal del usuario asociado a una sesión, así como otros parámetros que definen la sesión; por ejemplo, las horas de inicio y finalización de la sesión.

En escenarios pasivos, las WSFederationAuthenticationModule llamadas a ( SessionAuthenticationModule SAM) desde la canalización de autenticación para crear un token de sesión a partir del ClaimsPrincipal que representa al usuario autenticado. Sam usa su configurado SessionSecurityTokenHandler para crear el token y serializarlo en una cookie (y para deserializar el token de una cookie en solicitudes posteriores). Sam usa una instancia de su clase configurada CookieHandler para volver a escribir la cookie en la respuesta HTTP. A continuación, esta cookie se devuelve al cliente y, en las solicitudes posteriores, el cliente puede presentar la cookie en lugar de volver a realizar un recorrido de ida y vuelta al proveedor de identidades para volver a obtener un token de seguridad. Para obtener más información sobre cómo funcionan las sesiones con WIF, consulte Administración de sesiones de WIF. Para obtener información sobre el uso de sesiones en escenarios de granja de servidores web, consulte WIF y Web Farms.

Un token de sesión puede funcionar en modo de referencia o no. Si el token de sesión no funciona en modo de referencia, todo el token se serializa en la cookie de sesión que se almacena en el cliente. El token de sesión serializado puede ser bastante grande y, por tanto, la cookie almacenada en el cliente también puede ser bastante grande. En el modo de referencia, en lugar de serializar todo el token de sesión en la cookie, el token se almacena en una caché de tokens de seguridad de sesión y solo la información utilizada para generar la clave necesaria para recuperar el token de la caché se almacena en la cookie. Esto puede reducir considerablemente el tamaño de la cookie. La caché de tokens de sesión se implementa mediante una clase derivada de SessionSecurityTokenCache y la clase implementa la SessionSecurityTokenCacheKey clave de caché. Las ContextId propiedades y KeyGeneration se usan en la SessionSecurityTokenCacheKey clase para generar la clave de caché.

La IsReferenceMode propiedad determina si el token de sesión está en modo de referencia o no.

Importante

Para funcionar en modo de referencia, Microsoft recomienda proporcionar un controlador para el WSFederationAuthenticationModule.SessionSecurityTokenCreated evento en el archivo global.asax.cs y establecer la IsReferenceMode propiedad en el token pasado en la SessionSecurityTokenCreatedEventArgs.SessionToken propiedad . Esto garantizará que el token de sesión funciona en modo de referencia para cada solicitud y se prefiere simplemente establecer la SessionAuthenticationModule.IsReferenceMode propiedad en el módulo de autenticación de sesión.

La SessionSecurityTokenHandler clase proporcionada con WIF serializa el token de sesión como un elemento de WS-Secure Conversation <wsc:SecurityContextToken> .

Constructores

SessionSecurityToken(ClaimsPrincipal)

Inicializa una nueva instancia de la clase SessionSecurityToken a partir de la entidad de seguridad especificada.

SessionSecurityToken(ClaimsPrincipal, String)

Inicializa una nueva instancia de la clase SessionSecurityToken a partir de la entidad de seguridad y del token de arranque especificados.

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

Inicializa una nueva instancia de la clase SessionSecurityToken a partir del token de entidad de seguridad y arranque especificado; y con la hora de inicio y hora de expiración especificadas.

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

Inicializa una nueva instancia de la clase SessionSecurityToken a partir del token de entidad de seguridad y arranque especificado; y con la hora de inicio y hora de expiración especificadas. El nuevo token tiene como ámbito el extremo especificado.

SessionSecurityToken(ClaimsPrincipal, TimeSpan)

Inicializa una nueva instancia de la clase SessionSecurityToken a partir de la entidad de seguridad especificada. El nuevo token es válido desde UtcNow hasta la duración especificada.

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

Inicializa una nueva instancia de la clase SessionSecurityToken mediante la entidad de seguridad, identificador de contexto, contexto, extremo, marca de tiempo válida, duración y clave especificados.

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

Inicializa una nueva instancia de la clase SessionSecurityToken mediante la entidad de seguridad, identificador de contexto, contexto, extremo, hora de inicio, fecha de expiración y clave especificados.

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

Inicializa una nueva instancia de la clase SessionSecurityToken mediante la entidad de seguridad, identificador de contexto, contexto, extremo, duración y clave especificados.

SessionSecurityToken(SerializationInfo, StreamingContext)

Inicializa una nueva instancia de la clase SessionSecurityToken con datos serializados.

Propiedades

ClaimsPrincipal

Obtiene la entidad de seguridad de notificación asociada con la sesión.

Context

Obtiene el valor de contexto especificado por el usuario.

ContextId

Obtiene el identificador de contexto de sesión.

EndpointId

Obtiene el identificador del extremo que es el ámbito de este token.

Id

Obtiene el identificador único de este token.

IsPersistent

Obtiene o establece un valor que indica si la cookie representada por este token es persistente.

IsReferenceMode

Obtiene o establece un valor que indica si el token de seguridad de sesión está funcionando en modo de referencia.

KeyEffectiveTime

Obtiene el instante de tiempo después del cual la clave de este token no es válida.

KeyExpirationTime

Obtiene el instante de tiempo después del cual la clave de este token ya no es válida.

KeyGeneration

Obtiene el identificador para la generación de claves en este token.

SecureConversationVersion

Obtiene un URI que identifica la versión de WS-SecureConversation que se utiliza para serializar este token de seguridad de la sesión.

SecurityKeys

Obtiene las claves adjuntadas a esta sesión. Esto normalmente es una única clave.

ValidFrom

Obtiene el instante de tiempo desde el que el token es válido.

ValidTo

Obtiene el instante de tiempo después del cual el token ya no es válido.

Métodos

CanCreateKeyIdentifierClause<T>()

Obtiene un valor que indica si este token de seguridad es capaz de crear el identificador clave especificado.

(Heredado de SecurityToken)
CreateKeyIdentifierClause<T>()

Crea la cláusula de identificador de clave especificada.

(Heredado de SecurityToken)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Establece SerializationInfo con la información necesaria para serializar el token de seguridad de sesión.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MatchesKeyIdentifierClause(SecurityKeyIdentifierClause)

Devuelve un valor que indica si el identificador clave para esta instancia puede resolverse en el identificador de clave especificado.

(Heredado de SecurityToken)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ResolveKeyIdentifierClause(SecurityKeyIdentifierClause)

Obtiene la clave para la cláusula de identificador de clave especificada.

(Heredado de SecurityToken)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también