SessionSecurityToken Klasa

Definicja

Definiuje token zabezpieczający, który zawiera dane skojarzone z sesją.

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
Dziedziczenie
SessionSecurityToken
Atrybuty
Implementuje

Uwagi

Token sesji przechowuje ClaimsPrincipal użytkownika, który jest skojarzony z sesją, a także inne parametry definiujące sesję, na przykład czas rozpoczęcia i zakończenia sesji.

W scenariuszach WSFederationAuthenticationModule pasywnych wywołania do potoku SessionAuthenticationModule uwierzytelniania (SAM) w celu utworzenia tokenu sesji z ClaimsPrincipal elementu reprezentującego uwierzytelnionego użytkownika. Protokół SAM używa skonfigurowanego SessionSecurityTokenHandler do utworzenia tokenu i serializacji go do pliku cookie (i deserializowania tokenu z pliku cookie w kolejnych żądaniach). Sam używa wystąpienia swojej skonfigurowanej CookieHandler klasy do zapisania pliku cookie z powrotem do odpowiedzi HTTP. Ten plik cookie jest następnie zwracany do klienta, a następnie na kolejnych żądaniach klient może przedstawić plik cookie, a nie wrócić do dostawcy tożsamości w celu ponownego uzyskania tokenu zabezpieczającego. Aby uzyskać więcej informacji na temat sposobu działania sesji z programem WIF, zobacz Zarządzanie sesjami programu WIF. Aby uzyskać informacje o korzystaniu z sesji w scenariuszach farmy sieci Web, zobacz WIF i Web Farms.

Token sesji może działać w trybie odwołania. Jeśli token sesji nie działa w trybie odwołania, cały token jest serializowany do pliku cookie sesji przechowywanego na kliencie. Serializowany token sesji może być dość duży, a tym samym plik cookie przechowywany na kliencie może być dość duży. W trybie referencyjnym, zamiast serializować cały token sesji w pliku cookie, token jest przechowywany w pamięci podręcznej tokenu zabezpieczającego sesji i tylko informacje używane do generowania klucza niezbędnego do pobrania tokenu z pamięci podręcznej są przechowywane w pliku cookie. Może to znacznie zmniejszyć rozmiar pliku cookie. Pamięć podręczna tokenu sesji jest implementowana przez klasę pochodną SessionSecurityTokenCache , a klucz pamięci podręcznej jest implementowany przez klasę SessionSecurityTokenCacheKey . Właściwości ContextId i KeyGeneration są używane w SessionSecurityTokenCacheKey klasie do generowania klucza pamięci podręcznej.

Właściwość IsReferenceMode określa, czy token sesji jest w trybie odwołania, czy nie.

Ważne

Aby działać w trybie referencyjnym, firma Microsoft zaleca udostępnienie procedury obsługi dla WSFederationAuthenticationModule.SessionSecurityTokenCreated zdarzenia w pliku global.asax.cs i ustawienie IsReferenceMode właściwości na tokenie przekazanym SessionSecurityTokenCreatedEventArgs.SessionToken we właściwości . Zapewni to, że token sesji działa w trybie referencyjnym dla każdego żądania i jest faworyzowany tylko przez ustawienie SessionAuthenticationModule.IsReferenceMode właściwości w module uwierzytelniania sesji.

Klasa SessionSecurityTokenHandler dostarczana z programem WIF serializuje token sesji jako element WS-Secure Conversation <wsc:SecurityContextToken> .

Konstruktory

SessionSecurityToken(ClaimsPrincipal)

Inicjuje SessionSecurityToken nowe wystąpienie klasy z określonego podmiotu zabezpieczeń.

SessionSecurityToken(ClaimsPrincipal, String)

Inicjuje SessionSecurityToken nowe wystąpienie klasy z określonego podmiotu zabezpieczeń i tokenu bootstrap.

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

Inicjuje nowe wystąpienie klasy z określonego podmiotu SessionSecurityToken zabezpieczeń i tokenu bootstrap, a także z określonym czasem rozpoczęcia i czasem wygaśnięcia.

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

Inicjuje nowe wystąpienie klasy z określonego podmiotu SessionSecurityToken zabezpieczeń i tokenu bootstrap, a także z określonym czasem rozpoczęcia i czasem wygaśnięcia. Nowy token ma zakres określony punkt końcowy.

SessionSecurityToken(ClaimsPrincipal, TimeSpan)

Inicjuje SessionSecurityToken nowe wystąpienie klasy z określonego podmiotu zabezpieczeń. Nowy token jest prawidłowy od UtcNow określonego okresu istnienia.

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

Inicjuje nowe wystąpienie klasy przy użyciu określonego podmiotu SessionSecurityToken zabezpieczeń, identyfikatora kontekstu, kontekstu, punktu końcowego, prawidłowego znacznika czasu, okresu istnienia i klucza.

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

Inicjuje nowe wystąpienie klasy przy użyciu określonego podmiotu SessionSecurityToken zabezpieczeń, identyfikatora kontekstu, kontekstu, punktu końcowego, czasu rozpoczęcia, czasu wygaśnięcia i klucza.

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

Inicjuje nowe wystąpienie klasy przy użyciu określonego podmiotu SessionSecurityToken zabezpieczeń, identyfikatora kontekstu, kontekstu, punktu końcowego, okresu istnienia i klucza.

SessionSecurityToken(SerializationInfo, StreamingContext)

Inicjuje nowe wystąpienie klasy SessionSecurityToken z zserializowanymi danymi.

Właściwości

ClaimsPrincipal

Pobiera podmiot zabezpieczeń oświadczeń skojarzony z sesją.

Context

Pobiera wartość kontekstu określoną przez użytkownika.

ContextId

Pobiera identyfikator kontekstu sesji.

EndpointId

Pobiera identyfikator punktu końcowego, do którego ten token ma zakres.

Id

Pobiera unikatowy identyfikator tego tokenu.

IsPersistent

Pobiera lub ustawia wartość wskazującą, czy plik cookie reprezentowany przez ten token jest trwały.

IsReferenceMode

Pobiera lub ustawia wartość wskazującą, czy token zabezpieczający sesji działa w trybie referencyjnym.

KeyEffectiveTime

Pobiera czas, z którego klucz w tym tokenie jest prawidłowy.

KeyExpirationTime

Pobiera czas, po którym klucz w tym tokenie nie jest już prawidłowy.

KeyGeneration

Pobiera identyfikator generowania klucza w tym tokenie.

SecureConversationVersion

Pobiera identyfikator URI identyfikujący wersję konwersacji WS-Secure, która jest używana do serializacji tego tokenu zabezpieczeń sesji.

SecurityKeys

Pobiera klucze skojarzone z tą sesją. Zazwyczaj jest to pojedynczy klucz.

ValidFrom

Pobiera moment, z którego token jest prawidłowy.

ValidTo

Pobiera czas natychmiast, po którym token nie jest już prawidłowy.

Metody

CanCreateKeyIdentifierClause<T>()

Pobiera wartość wskazującą, czy ten token zabezpieczający może utworzyć określony identyfikator klucza.

(Odziedziczone po SecurityToken)
CreateKeyIdentifierClause<T>()

Tworzy określoną klauzulę identyfikatora klucza.

(Odziedziczone po SecurityToken)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetObjectData(SerializationInfo, StreamingContext)

Ustawia element SerializationInfo z informacjami niezbędnymi do serializacji tokenu zabezpieczeń sesji.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MatchesKeyIdentifierClause(SecurityKeyIdentifierClause)

Zwraca wartość wskazującą, czy identyfikator klucza dla tego wystąpienia można rozpoznać dla określonego identyfikatora klucza.

(Odziedziczone po SecurityToken)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ResolveKeyIdentifierClause(SecurityKeyIdentifierClause)

Pobiera klucz dla określonej klauzuli identyfikatora klucza.

(Odziedziczone po SecurityToken)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też