SessionSecurityToken Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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 dostarczenie 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) |