Freigeben über


SessionSecurityToken Klasse

Definition

Definiert ein Sicherheitstoken, das die Daten enthält, die einer Sitzung zugeordnet sind.

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
Vererbung
SessionSecurityToken
Attribute
Implementiert

Hinweise

Ein Sitzungstoken speichert die ClaimsPrincipal des Benutzers, der einer Sitzung zugeordnet ist, sowie andere Parameter, die die Sitzung definieren, z. B. die Start- und Endzeiten der Sitzung.

In passiven Szenarien ruft die WSFederationAuthenticationModuleSessionAuthenticationModule SAM-Instanz (SAM) aus der Authentifizierungspipeline auf, um ein Sitzungstoken von dem zu erstellen, das ClaimsPrincipal den authentifizierten Benutzer darstellt. Das SAM verwendet das konfigurierte SessionSecurityTokenHandler , um das Token zu erstellen und es in ein Cookie zu serialisieren (und das Token aus einem Cookie bei nachfolgenden Anforderungen deserialisieren). Das SAM verwendet eine instance der konfigurierten CookieHandler Klasse, um das Cookie zurück in die HTTP-Antwort zu schreiben. Dieses Cookie wird dann an den Client zurückgegeben, und bei nachfolgenden Anforderungen kann der Client das Cookie präsentieren, anstatt einen Roundtrip zum Identitätsanbieter zu machen, um ein Sicherheitstoken erneut abzurufen. Weitere Informationen zur Funktionsweise von Sitzungen mit WIF finden Sie unter WIF-Sitzungsverwaltung. Informationen zur Verwendung von Sitzungen in Webfarmszenarien finden Sie unter WIF und Webfarmen.

Ein Sitzungstoken kann entweder im Verweismodus ausgeführt werden oder nicht. Wenn das Sitzungstoken nicht im Verweismodus ausgeführt wird, wird das gesamte Token in das Sitzungscooky serialisiert, das auf dem Client gespeichert ist. Das serialisierte Sitzungstoken kann recht groß sein und somit kann das auf dem Client gespeicherte Cookie auch recht groß sein. Im Verweismodus wird das Token nicht das gesamte Sitzungstoken in das Cookie serialisiert, sondern in einem Sitzungssicherheitstokencache gespeichert, und im Cookie werden nur die Informationen gespeichert, die zum Generieren des erforderlichen Schlüssels zum Abrufen des Tokens aus dem Cache verwendet werden. Dies kann die Größe des Cookies erheblich reduzieren. Der Sitzungstokencache wird durch eine klasse implementiert, die von SessionSecurityTokenCache abgeleitet wird, und der Cacheschlüssel wird von der SessionSecurityTokenCacheKey -Klasse implementiert. Die ContextId Eigenschaften und KeyGeneration werden in der SessionSecurityTokenCacheKey -Klasse verwendet, um den Cacheschlüssel zu generieren.

Die IsReferenceMode -Eigenschaft bestimmt, ob sich das Sitzungstoken im Verweismodus befindet oder nicht.

Wichtig

Um im Verweismodus zu arbeiten, empfiehlt Microsoft, einen Handler für das WSFederationAuthenticationModule.SessionSecurityTokenCreated Ereignis in der global.asax.cs-Datei bereitzustellen und die IsReferenceMode -Eigenschaft für das token festzulegen, das in der SessionSecurityTokenCreatedEventArgs.SessionToken -Eigenschaft übergeben wird. Dadurch wird sichergestellt, dass das Sitzungstoken im Verweismodus für jede Anforderung ausgeführt wird und gegenüber dem bloßen Festlegen der SessionAuthenticationModule.IsReferenceMode Eigenschaft im Sitzungsauthentifizierungsmodul bevorzugt wird.

Die SessionSecurityTokenHandler mit WIF bereitgestellte Klasse serialisiert das Sitzungstoken als WS-Secure Conversation-Element <wsc:SecurityContextToken> .

Konstruktoren

SessionSecurityToken(ClaimsPrincipal)

Initialisiert eine neue Instanz der SessionSecurityToken-Klasse des angegebenen Prinzipals.

SessionSecurityToken(ClaimsPrincipal, String)

Initialisiert eine neue Instanz der SessionSecurityToken-Klasse unter Verwendung der angegebenen Prinzipals und Bootstraptokens.

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

Initialisiert eine neue Instanz der SessionSecurityToken-Klasse aus dem angegebenen Prinzipal- und Bootstrap-Token und mit der angegebenen Startzeit und Ablaufzeit.

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

Initialisiert eine neue Instanz der SessionSecurityToken-Klasse aus dem angegebenen Prinzipal- und Bootstrap-Token und mit der angegebenen Startzeit und Ablaufzeit. Das neue Token wird am angegebenen Endpunkt angewendet.

SessionSecurityToken(ClaimsPrincipal, TimeSpan)

Initialisiert eine neue Instanz der SessionSecurityToken-Klasse des angegebenen Prinzipals. Das neue Token ist ab UtcNow für die angegebene Lebensdauer gültig.

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

Initialisiert eine neue Instanz der SessionSecurityToken-Klasse unter Verwendung der angegebenen Werte für Prinzipal, Kontext-ID, Kontext, Endpunkt, den gültigen Zeitstempel, Lebensdauer und Schlüssel.

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

Initialisiert eine neue Instanz der SessionSecurityToken-Klasse unter Verwendung der angegebenen Werte für Prinzipal, Kontext-ID, Kontext, Endpunkt, Startzeit, Ablaufzeit und Schlüssel.

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

Initialisiert eine neue Instanz der SessionSecurityToken-Klasse unter Verwendung der angegebenen Werte für Prinzipal, Kontext-ID, Kontext, Endpunkt, Lebensdauer und Schlüssel.

SessionSecurityToken(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der SessionSecurityToken-Klasse mit serialisierten Daten.

Eigenschaften

ClaimsPrincipal

Ruft den AnspruchsPrinzipal ab, der der Sitzung zugeordnet ist.

Context

Ruft einen Benutzer angegebenen Kontextwert ab.

ContextId

Ruft den Kontextbezeichner der Sitzung ab.

EndpointId

Ruft die ID des Endpunkts ab, auf den dieses Token beschränkt ist.

Id

Ruft den eindeutigen Bezeichner dieses Tokens ab.

IsPersistent

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob das Cookie, das von diesem Token dargestellt wird, permanent ist.

IsReferenceMode

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob das Sitzungstoken im Verweismodus ausgeführt wird.

KeyEffectiveTime

Ruft den Zeitpunkt ab, abb dem der Schlüssel in diesem Token gültig ist.

KeyExpirationTime

Ruft den Zeitpunkt ab, nachdem der Schlüssel in diesem Token nicht mehr gültig ist.

KeyGeneration

Ruft den eindeutigen Bezeichner für die Schlüsselgenerierung in diesem Token ab.

SecureConversationVersion

Ruft einen URI ab, der die Version von WS-SecureConversation identifiziert, die verwendet wird, um dieses Sitzungssicherheitstoken zu serialisieren.

SecurityKeys

Ruft die dieser Transaktion zugeordneten Schlüssel ab. Dies ist normalerweise ein einzelner Schlüssel.

ValidFrom

Ruft den Zeitpunkt ab, von dem das Token gültig ist.

ValidTo

Ruft den Zeitpunkt ab, nachdem das Token ist nicht mehr gültig.

Methoden

CanCreateKeyIdentifierClause<T>()

Ruft einen Wert ab, der angibt, ob dieses Sicherheitstoken den angegebenen Schlüsselbezeichner erstellen kann.

(Geerbt von SecurityToken)
CreateKeyIdentifierClause<T>()

Erstellt die angegebene Schlüsselbezeichnerklausel.

(Geerbt von SecurityToken)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetObjectData(SerializationInfo, StreamingContext)

Legt die SerializationInfo mit den Informationen fest, die erforderlich sind, um das Sitzungssicherheitstoken zu serialisieren.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MatchesKeyIdentifierClause(SecurityKeyIdentifierClause)

Gibt einen Wert zurück, der angibt, ob der Schlüsselbezeichner für diese Instanz auf den angegebenen Schlüsselbezeichner aufgelöst werden kann.

(Geerbt von SecurityToken)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ResolveKeyIdentifierClause(SecurityKeyIdentifierClause)

Ruft den Schlüssel für die angegebene Schlüsselbezeichnerklausel ab.

(Geerbt von SecurityToken)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen