SessionSecurityToken 類別

定義

定義包含與工作階段相關聯之資料的安全性權杖。

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
繼承
SessionSecurityToken
屬性
實作

備註

會話權杖會 ClaimsPrincipal 儲存與會話相關聯的使用者,以及定義會話的其他參數;例如會話開始和結束時間。

在被動案例中 WSFederationAuthenticationModule ,從驗證管線呼叫 SessionAuthenticationModule (SAM) ,以從 ClaimsPrincipal 代表已驗證使用者的 建立會話權杖。 SAM 會使用其設定 SessionSecurityTokenHandler 來建立權杖,並將其序列化為 cookie (,並在後續要求) 還原序列化 Cookie 中的權杖。 SAM 會使用其已設定 CookieHandler 類別的實例,將 Cookie 寫回 HTTP 回應。 接著,此 Cookie 會傳回給用戶端,而且在後續的要求上,用戶端可以呈現 Cookie,而不是往返識別提供者以重新取得安全性權杖。 如需會話如何與 WIF 搭配運作的詳細資訊,請參閱 WIF 會話管理。 如需在 Web 服務器陣列案例中使用會話的相關資訊,請參閱 WIF 和 Web 服務器陣列

會話權杖可以在參考模式中運作。 如果會話權杖未以參考模式運作,整個權杖會序列化為儲存在用戶端上的會話 Cookie。 序列化的會話權杖可能相當大,因此儲存在用戶端上的 Cookie 也相當大。 在參考模式中,而不是將整個會話權杖序列化為 Cookie,權杖會儲存在會話安全性權杖快取中,而且只會將用來從快取擷取權杖所需的金鑰產生資訊儲存在 Cookie 中。 這可以大幅減少 Cookie 的大小。 會話權杖快取是由衍生自 SessionSecurityTokenCache 的類別所實作,而快取索引鍵則由 類別實作 SessionSecurityTokenCacheKeyContextIdKeyGeneration 屬性會用於 類別中 SessionSecurityTokenCacheKey ,以產生快取索引鍵。

屬性 IsReferenceMode 會判斷會話權杖是否處於參考模式。

重要

為了在參考模式中運作,Microsoft 建議在 global.asax.cs 檔案中提供 事件的處理常式 WSFederationAuthenticationModule.SessionSecurityTokenCreated ,並在傳入屬性的 SessionSecurityTokenCreatedEventArgs.SessionToken 權杖上設定 IsReferenceMode 屬性。 這可確保會話權杖會在每個要求的參考模式中運作,並且偏好只 SessionAuthenticationModule.IsReferenceMode 設定會話驗證模組上的 屬性。

SessionSecurityTokenHandlerWIF 提供的 類別會將會話權杖序列化為WS-Secure Conversation <wsc:SecurityContextToken> 元素。

建構函式

SessionSecurityToken(ClaimsPrincipal)

從指定的主體,初始化 SessionSecurityToken 類別的新執行個體。

SessionSecurityToken(ClaimsPrincipal, String)

從指定的主體和啟動程序權杖初始化 SessionSecurityToken 類別的新執行個體。

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

從指定的主體和啟動程序語彙基元,以及使用指定的開始時間與到期時間,初始化 SessionSecurityToken 類別的新執行個體。

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

從指定的主體和啟動程序語彙基元,以及使用指定的開始時間與到期時間,初始化 SessionSecurityToken 類別的新執行個體。 新權杖的範圍是到指定的端點。

SessionSecurityToken(ClaimsPrincipal, TimeSpan)

從指定的主體,初始化 SessionSecurityToken 類別的新執行個體。 新權杖的有效期是從UtcNow到指定的存留時間。

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

使用指定的主體、內容 ID、內容、端點、有效時間戳記、存留期和金鑰,初始化 SessionSecurityToken 類別的新執行個體。

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

使用指定的主體、內容 ID、內容、端點、開始時間、到期時間和金鑰,初始化 SessionSecurityToken 類別的新執行個體。

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

使用指定的主體、內容 ID、內容、端點、存留期和金鑰,初始化 SessionSecurityToken 類別的新執行個體。

SessionSecurityToken(SerializationInfo, StreamingContext)

使用序列化資料,初始化 SessionSecurityToken 類別的新執行個體。

屬性

ClaimsPrincipal

取得與工作階段相關聯的宣告主體。

Context

取得使用者指定的內容值。

ContextId

取得工作階段內容識別碼。

EndpointId

取得此語彙基元的範圍結束點的 ID。

Id

取得此權杖的唯一識別碼。

IsPersistent

取得或設定值,這個值表示這個權杖所表示的 cookie 是否為持續性的。

IsReferenceMode

取得或設定值,指出工作階段安全性權杖是否正在參考模式下操作。

KeyEffectiveTime

取得權杖中的金鑰開始有效的瞬間。

KeyExpirationTime

取得瞬間,超過之後這個權杖中的金鑰不再有效。

KeyGeneration

取得此權杖中產生金鑰的識別碼。

SecureConversationVersion

取得可識別 WS-Secure Conversation 版本的 URI,該 WS-Secure Conversation 用於序列化這個工作階段安全性權杖。

SecurityKeys

取得與這個工作階段相關聯的索引鍵。 這通常是單一金鑰。

ValidFrom

取得瞬間,超過之後權杖無效。

ValidTo

取得瞬間,超過之後權杖不再有效。

方法

CanCreateKeyIdentifierClause<T>()

取得值,這個值會指出這個安全性權杖是否能夠建立指定的金鑰識別碼。

(繼承來源 SecurityToken)
CreateKeyIdentifierClause<T>()

建立指定的金鑰識別碼子句。

(繼承來源 SecurityToken)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetObjectData(SerializationInfo, StreamingContext)

以序列化工作階段安全性權杖所需的資訊設定 SerializationInfo

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MatchesKeyIdentifierClause(SecurityKeyIdentifierClause)

傳回值,這個值會指出這個執行個體的金鑰識別碼是否能夠解析為指定的金鑰識別碼。

(繼承來源 SecurityToken)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ResolveKeyIdentifierClause(SecurityKeyIdentifierClause)

取得指定之金鑰識別碼子句的金鑰。

(繼承來源 SecurityToken)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於

另請參閱