SessionSecurityToken Klass

Definition

Definierar en säkerhetstoken som innehåller data som är associerade med en session.

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
Arv
SessionSecurityToken
Attribut
Implementeringar

Kommentarer

En sessionstoken lagrar den ClaimsPrincipal användare som är associerad med en session samt andra parametrar som definierar sessionen, till exempel start- och sluttider för sessionen.

I passiva scenarier anropar anropen WSFederationAuthenticationModuleSessionAuthenticationModule till (SAM) från autentiseringspipelinen för att skapa en sessionstoken från ClaimsPrincipal den som representerar den autentiserade användaren. SAM använder sin konfigurerade SessionSecurityTokenHandler för att skapa token och serialisera den till en cookie (och för att deserialisera token från en cookie på efterföljande begäranden). SAM använder en instans av sin konfigurerade CookieHandler klass för att skriva tillbaka cookien till HTTP-svaret. Den här cookien returneras sedan till klienten och vid efterföljande begäranden kan klienten presentera cookien i stället för att göra en tur- och returresa tillbaka till identitetsprovidern för att hämta en säkerhetstoken igen. Mer information om hur sessioner fungerar med WIF finns i WIF-sessionshantering. Information om hur du använder sessioner i webbgruppsscenarier finns i WIF och Web Farms.

En sessionstoken kan fungera i antingen referensläge eller inte. Om sessionstoken inte fungerar i referensläge serialiseras hela token till sessionscookien som lagras på klienten. Den serialiserade sessionstoken kan vara ganska stor och därför kan cookien som lagras på klienten också vara ganska stor. I referensläge, i stället för att serialisera hela sessionstoken till cookien, lagras token i en cache för sessionssäkerhetstoken och endast den information som används för att generera den nyckel som krävs för att hämta token från cachen lagras i cookien. Detta kan avsevärt minska storleken på cookien. Cacheminnet för sessionstoken implementeras av en klass som härleds från SessionSecurityTokenCache och cachenyckeln implementeras av SessionSecurityTokenCacheKey klassen. Egenskaperna ContextId och KeyGeneration används i SessionSecurityTokenCacheKey klassen för att generera cachenyckeln.

Egenskapen IsReferenceMode avgör om sessionstoken är i referensläge eller inte.

Important

För att fungera i referensläge rekommenderar Microsoft att du tillhandahåller en hanterare för händelsen WSFederationAuthenticationModule.SessionSecurityTokenCreated i global.asax.cs-filen och anger egenskapen IsReferenceMode på den token som skickades i egenskapen SessionSecurityTokenCreatedEventArgs.SessionToken. Detta säkerställer att sessionstoken fungerar i referensläge för varje begäran och prioriteras framför att bara ange SessionAuthenticationModule.IsReferenceMode egenskapen i modulen Sessionsautentisering.

Klassen SessionSecurityTokenHandler som tillhandahålls med WIF serialiserar sessionstoken som ett WS-Secure konversationselement <wsc:SecurityContextToken> .

Konstruktorer

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

Initierar en ny instans av SessionSecurityToken klassen från det angivna huvudkontot och bootstrap-token och med angiven starttid och förfallotid.

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

Initierar en ny instans av SessionSecurityToken klassen från det angivna huvudkontot och bootstrap-token och med angiven starttid och förfallotid. Den nya token är begränsad till den angivna slutpunkten.

SessionSecurityToken(ClaimsPrincipal, String)

Initierar en ny instans av SessionSecurityToken klassen från det angivna huvudkontot och bootstrap-token.

SessionSecurityToken(ClaimsPrincipal, TimeSpan)

Initierar en ny instans av SessionSecurityToken klassen från det angivna huvudkontot. Den nya token är giltig från UtcNow och med den angivna livslängden.

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

Initierar en ny instans av SessionSecurityToken klassen med hjälp av det angivna huvudkontot, kontext-ID, kontext, slutpunkt, giltig tidsstämpel, livslängd och nyckel.

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

Initierar en ny instans av SessionSecurityToken klassen med hjälp av det angivna huvudkontot, kontext-ID, kontext, slutpunkt, starttid, förfallotid och nyckel.

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

Initierar en ny instans av SessionSecurityToken klassen med hjälp av det angivna huvudkontot, kontext-ID, kontext, slutpunkt, livslängd och nyckel.

SessionSecurityToken(ClaimsPrincipal)

Initierar en ny instans av SessionSecurityToken klassen från det angivna huvudkontot.

SessionSecurityToken(SerializationInfo, StreamingContext)

Initierar en ny instans av SessionSecurityToken klassen med serialiserade data.

Egenskaper

Name Description
ClaimsPrincipal

Hämtar anspråksobjektet som är associerat med sessionen.

Context

Hämtar ett användardefingivet kontextvärde.

ContextId

Hämtar sessionskontextidentifieraren.

EndpointId

Hämtar ID:t för slutpunkten som denna token är begränsad till.

Id

Hämtar den unika identifieraren för den här token.

IsPersistent

Hämtar eller anger ett värde som anger om cookien som representeras av den här token är beständig.

IsReferenceMode

Hämtar eller anger ett värde som anger om sessionssäkerhetstoken fungerar i referensläge.

KeyEffectiveTime

Hämtar den tidpunkt då nyckeln i den här token är giltig.

KeyExpirationTime

Hämtar den tid då nyckeln i den här token inte längre är giltig.

KeyGeneration

Hämtar identifieraren för nyckelgenereringen i den här token.

SecureConversationVersion

Hämtar en URI som identifierar den version av WS-Secure Konversation som används för att serialisera den här sessionssäkerhetstoken.

SecurityKeys

Hämtar nycklarna som är associerade med den här sessionen. Det här är vanligtvis en enda nyckel.

ValidFrom

Hämtar den tidpunkt då token är giltig.

ValidTo

Hämtar den tidpunkt då token inte längre är giltig.

Metoder

Name Description
CanCreateKeyIdentifierClause<T>()

Hämtar ett värde som anger om den här säkerhetstoken kan skapa den angivna nyckelidentifieraren.

(Ärvd från SecurityToken)
CreateKeyIdentifierClause<T>()

Skapar den angivna nyckelidentifierarsatsen.

(Ärvd från SecurityToken)
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetObjectData(SerializationInfo, StreamingContext)

Anger med den SerializationInfo information som krävs för att serialisera sessionssäkerhetstoken.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MatchesKeyIdentifierClause(SecurityKeyIdentifierClause)

Returnerar ett värde som anger om nyckelidentifieraren för den här instansen kan matchas mot den angivna nyckelidentifieraren.

(Ärvd från SecurityToken)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ResolveKeyIdentifierClause(SecurityKeyIdentifierClause)

Hämtar nyckeln för den angivna nyckelidentifierarsatsen.

(Ärvd från SecurityToken)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även