SessionSecurityToken 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
定義包含與工作階段相關聯之資料的安全性權杖。
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
- 繼承
- 屬性
- 實作
備註
會話令牌會 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 的類別所實作,而快取索引鍵則由類別實作 SessionSecurityTokenCacheKey 。 ContextId和 KeyGeneration 屬性會用於 類別中SessionSecurityTokenCacheKey,以產生快取索引鍵。
屬性 IsReferenceMode 會判斷會話令牌是否處於參考模式。
重要
為了在參考模式中運作,Microsoft 建議在 global.asax.cs 檔案中提供 事件的處理程式WSFederationAuthenticationModule.SessionSecurityTokenCreated,並在屬性中傳遞的SessionSecurityTokenCreatedEventArgs.SessionToken令牌上設定 IsReferenceMode 屬性。 這可確保會話令牌會在每個要求的參考模式中運作,並且偏好只 SessionAuthenticationModule.IsReferenceMode 設定會話驗證模組上的屬性。
SessionSecurityTokenHandler WIF 提供的 類別會將會話令牌串行化為 WS-Secure Conversation <wsc:SecurityContextToken>
元素。
建構函式
屬性
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) |