SessionSecurityToken Clase

Definición

Define un token de seguridad que contiene los datos asociados a una sesión.Defines a security token that contains data associated with a session.

public ref class SessionSecurityToken : System::IdentityModel::Tokens::SecurityToken
[System.Serializable]
public class SessionSecurityToken : System.IdentityModel.Tokens.SecurityToken
type SessionSecurityToken = class
    inherit SecurityToken
Public Class SessionSecurityToken
Inherits SecurityToken
Herencia
SessionSecurityToken
Atributos

Comentarios

Un token de sesión almacena el ClaimsPrincipal del usuario que está 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.A session token stores the ClaimsPrincipal of the user that is associated with a session as well as other parameters that define the session; for example the session start and end times.

En escenarios pasivos, el WSFederationAuthenticationModule llama al SessionAuthenticationModule (SAM) desde la canalización de autenticación para crear un token de sesión a partir del @no__t 2 que representa al usuario autenticado.In passive scenarios, the WSFederationAuthenticationModule calls into the SessionAuthenticationModule (SAM) from the authentication pipeline to create a session token from the ClaimsPrincipal that represents the authenticated user. El SAM usa su configurada SessionSecurityTokenHandler para crear el token y serializarlo en una cookie (y para deserializar el token a partir de una cookie en solicitudes posteriores).The SAM uses its configured SessionSecurityTokenHandler to create the token and to serialize it into a cookie (and to deserialize the token from a cookie on subsequent requests). El SAM usa una instancia de su clase CookieHandler configurada para volver a escribir la cookie en la respuesta HTTP.The SAM uses an instance of its configured CookieHandler class to write the cookie back to the HTTP Response. 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 una acción de ida y vuelta al proveedor de identidades para volver a obtener un token de seguridad.This cookie is then returned to the client and on subsequent requests the client can present the cookie rather than making a round trip back to the identity provider to re-obtain a security token. Para obtener más información sobre cómo funcionan las sesiones con WIF, consulte Administración de sesiones de WIF.For more information about how sessions operate with WIF, see WIF Session Management. Para obtener información sobre el uso de sesiones en escenarios de granjas de servidores Web, consulte WIF y granjasde servidores Web.For information about using sessions in Web farm scenarios, see WIF and Web Farms.

Un token de sesión puede funcionar en modo de referencia o no.A session token can operate in either reference mode or not. Si el token de sesión no funciona en modo de referencia, el token completo se serializa en la cookie de sesión que se almacena en el cliente.If the session token is not operating in reference mode, the entire token is serialized into the session cookie that is stored on the client. 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.The serialized session token can be quite large and thus the cookie stored on the client can also be quite sizeable. En el modo de referencia, en lugar de serializar el token de sesión completo 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.In reference mode, rather than serializing the entire session token into the cookie, the token is stored in a session security token cache and only the information used to generate the key necessary to retrieve the token from the cache is stored in the cookie. Esto puede reducir en gran medida el tamaño de la cookie.This can greatly reduce the size of the cookie. La caché del token de sesión se implementa mediante una clase derivada de SessionSecurityTokenCache y la clave de caché se implementa mediante la clase SessionSecurityTokenCacheKey.The session token cache is implemented by a class derived from SessionSecurityTokenCache and the cache key is implemented by the SessionSecurityTokenCacheKey class. Las propiedades ContextId y KeyGeneration se utilizan en la clase SessionSecurityTokenCacheKey para generar la clave de caché.The ContextId and KeyGeneration properties are used in the SessionSecurityTokenCacheKey class to generate the cache key.

La propiedad IsReferenceMode determina si el token de sesión está en modo de referencia o no.The IsReferenceMode property determines whether the session token is in reference mode or not.

Importante

Para operar en modo de referencia, Microsoft recomienda proporcionar un controlador para el evento WSFederationAuthenticationModule.SessionSecurityTokenCreated en el archivo global.asax.cs y establecer la propiedad IsReferenceMode en el token que se pasa en la propiedad SessionSecurityTokenCreatedEventArgs.SessionToken.To operate in reference mode, Microsoft recommends providing a handler for the WSFederationAuthenticationModule.SessionSecurityTokenCreated event in the global.asax.cs file and setting the IsReferenceMode property on the token passed in the SessionSecurityTokenCreatedEventArgs.SessionToken property. Esto garantizará que el token de sesión funcione en modo de referencia para cada solicitud y se aplique simplemente al establecimiento de la propiedad SessionAuthenticationModule.IsReferenceMode en el módulo de autenticación de la sesión.This will ensure that the session token operates in reference mode for every request and is favored over merely setting the SessionAuthenticationModule.IsReferenceMode property on the Session Authentication Module.

La clase SessionSecurityTokenHandler proporcionada con WIF serializa el token de sesión como un elemento de WS-Secure Conversation <wsc:SecurityContextToken>.The SessionSecurityTokenHandler class provided with WIF serializes the session token as a WS-Secure Conversation <wsc:SecurityContextToken> element.

Constructores

SessionSecurityToken(ClaimsPrincipal)

Inicializa una nueva instancia de la clase SessionSecurityToken a partir de la entidad de seguridad especificada.Initializes a new instance of the SessionSecurityToken class from the specified principal.

SessionSecurityToken(ClaimsPrincipal, String)

Inicializa una nueva instancia de la clase SessionSecurityToken a partir de la entidad de seguridad y del token de arranque especificados.Initializes a new instance of the SessionSecurityToken class from the specified principal and bootstrap token.

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.Initializes a new instance of the SessionSecurityToken class from the specified principal and bootstrap token; and with the specified start time and expiration time.

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.Initializes a new instance of the SessionSecurityToken class from the specified principal and bootstrap token; and with the specified start time and expiration time. El nuevo token tiene como ámbito el extremo especificado.The new token is scoped to the specified endpoint.

SessionSecurityToken(ClaimsPrincipal, TimeSpan)

Inicializa una nueva instancia de la clase SessionSecurityToken a partir de la entidad de seguridad especificada.Initializes a new instance of the SessionSecurityToken class from the specified principal. El nuevo token es válido desde UtcNow hasta la duración especificada.The new token is valid from UtcNow through the specified lifetime.

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.Initializes a new instance of the SessionSecurityToken class by using the specified principal, context ID, context, endpoint, valid timestamp, lifetime, and key.

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.Initializes a new instance of the SessionSecurityToken class by using the specified principal, context ID, context, endpoint, start time, expiration time, and key.

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.Initializes a new instance of the SessionSecurityToken class by using the specified principal, context ID, context, endpoint, lifetime, and key.

SessionSecurityToken(SerializationInfo, StreamingContext)

Inicializa una nueva instancia de la clase SessionSecurityToken con datos serializados.Initializes a new instance of the SessionSecurityToken class with serialized data.

Propiedades

ClaimsPrincipal

Obtiene la entidad de seguridad de notificación asociada con la sesión.Gets the claims principal associated with the session.

Context

Obtiene el valor de contexto especificado por el usuario.Gets a user specified context value.

ContextId

Obtiene el identificador de contexto de sesión.Gets the session context identifier.

EndpointId

Obtiene el identificador del extremo que es el ámbito de este token.Gets the ID of the endpoint to which this token is scoped.

Id

Obtiene el identificador único de este token.Gets the unique identifier of this token.

IsPersistent

Obtiene o establece un valor que indica si la cookie representada por este token es persistente.Gets or sets a value that indicates whether the cookie represented by this token is persistent.

IsReferenceMode

Obtiene o establece un valor que indica si el token de seguridad de sesión está funcionando en modo de referencia.Gets or sets a value that indicates whether the session security token is operating in reference mode.

KeyEffectiveTime

Obtiene el instante de tiempo después del cual la clave de este token no es válida.Gets the time instant from which the key in this token is valid.

KeyExpirationTime

Obtiene el instante de tiempo después del cual la clave de este token ya no es válida.Gets the time instant after which the key in this token is no longer valid.

KeyGeneration

Obtiene el identificador para la generación de claves en este token.Gets the identifier for the key generation in this 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.Gets a URI that identifies the version of WS-Secure Conversation that is used to serialize this session security token.

SecurityKeys

Obtiene las claves adjuntadas a esta sesión.Gets the keys associated with this session. Esto normalmente es una única clave.This is usually a single key.

ValidFrom

Obtiene el instante de tiempo desde el que el token es válido.Gets the time instant from which the token is valid.

ValidTo

Obtiene el instante de tiempo después del cual el token ya no es válido.Gets the time instant after which the token is no longer valid.

Métodos

CanCreateKeyIdentifierClause<T>()

Obtiene un valor que indica si este token de seguridad es capaz de crear el identificador clave especificado.Gets a value that indicates whether this security token is capable of creating the specified key identifier.

(Heredado de SecurityToken)
CreateKeyIdentifierClause<T>()

Crea la cláusula de identificador de clave especificada.Creates the specified key identifier clause.

(Heredado de SecurityToken)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Establece SerializationInfo con la información necesaria para serializar el token de seguridad de sesión.Sets the SerializationInfo with information necessary to serialize the session security token.

GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MatchesKeyIdentifierClause(SecurityKeyIdentifierClause)

Devuelve un valor que indica si el identificador de clave para esta instancia puede resolverse en el identificador de clave especificado.Returns a value that indicates whether the key identifier for this instance can be resolved to the specified key identifier.

(Heredado de SecurityToken)
MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ResolveKeyIdentifierClause(SecurityKeyIdentifierClause)

Obtiene la clave para la cláusula de identificador de clave especificada.Gets the key for the specified key identifier clause.

(Heredado de SecurityToken)
ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)

Se aplica a

Consulte también: