MachineKeySessionSecurityTokenHandler 類別

定義

使用組態檔中 ASP.NET <machineKey> 元素指定的簽署和加密金鑰,處理工作階段權杖。

public ref class MachineKeySessionSecurityTokenHandler : System::IdentityModel::Tokens::SessionSecurityTokenHandler
public class MachineKeySessionSecurityTokenHandler : System.IdentityModel.Tokens.SessionSecurityTokenHandler
type MachineKeySessionSecurityTokenHandler = class
    inherit SessionSecurityTokenHandler
Public Class MachineKeySessionSecurityTokenHandler
Inherits SessionSecurityTokenHandler
繼承
MachineKeySessionSecurityTokenHandler

範例

下列 XML 示範如何使用組態中的 ASP.NET <machineKey> 元素來明確指定簽署和加密密鑰。 元素 <machineKey> 是在組態檔中的 <system.web> 專案下指定。

<machineKey compatibilityMode="Framework45" decryptionKey="CC510D … 8925E6" validationKey="BEAC8 … 6A4B1DE" />  

下列 XML 示範如何將 MachineKeySessionSecurityTokenHandler 新增到權杖處理常式集合。 預設值 SessionSecurityTokenHandler 會先從集合中移除。 令牌處理程式是在 securityTokenHandlers> 元素下<設定。

<securityTokenHandlers>  
  <remove type="System.IdentityModel.Tokens.SessionSecurityTokenHandler, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />  
  <add type="System.IdentityModel.Services.Tokens.MachineKeySessionSecurityTokenHandler, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />  
</securityTokenHandlers>  

備註

根據預設,類別 SessionSecurityTokenHandler 會使用 ProtectedDataCookieTransform 使用數據保護 API (DPAPI) 的 類別來保護會話令牌。 DPAPI 透過使用者或電腦認證來提供保護,並將金鑰資料儲存在使用者設定檔中。 這表示無法在不同的計算機上驗證或解密已簽署和加密的會話令牌。

相較之下,類別 MachineKeySessionSecurityTokenHandler 會使用 MachineKeyTransform 類別,該類別會使用組態檔中 元素中指定的 <machineKey> 密碼編譯數據來保護會話 Cookie 數據。 這表示可以在多部計算機上使用相同的密鑰 (和會話令牌) 。 當應用程式部署在 Web 伺服器陣列中時,這特別重要。 如需如何使用 Windows Identity Foundation 來保護部署在 Web 伺服器陣列中的應用程式的詳細資訊,請參閱 WIF 和 Web 伺服器數位

設定應用程式以使用 MachineKeySessionSecurityTokenHandler,做法為將它加入到權杖處理常式集合。 如果已有這類處理常式,您必須先從權杖處理常式集合中移除 SessionSecurityTokenHandler (或任何衍生自 SessionSecurityTokenHandler 類別的處理常式)。 這是因為 MachineKeySessionSecurityTokenHandler 衍生自 SessionSecurityTokenHandler ,而且令牌處理程式集合不能包含任何指定類型的多個處理程式。

建構函式

MachineKeySessionSecurityTokenHandler()

初始化 MachineKeySessionSecurityTokenHandler 類別的新執行個體。

MachineKeySessionSecurityTokenHandler(TimeSpan)

初始化 MachineKeySessionSecurityTokenHandler 類別的新執行個體,這個執行個體具有指定的預設權杖存留期。

屬性

CanValidateToken

取得值,指出這個處理常式是否支援驗證 SessionSecurityToken 型別的權杖。

(繼承來源 SessionSecurityTokenHandler)
CanWriteToken

取得值,指出這個處理常式是否可寫入 SessionSecurityToken 型別的權杖。

(繼承來源 SessionSecurityTokenHandler)
Configuration

取得或設定為目前執行個體提供組態的 SecurityTokenHandlerConfiguration 物件。

(繼承來源 SecurityTokenHandler)
ContainingCollection

取得包含目前執行個體的權杖處理常式集合。

(繼承來源 SecurityTokenHandler)
CookieElementName

取得 Cookie 項目的名稱。

(繼承來源 SessionSecurityTokenHandler)
CookieNamespace

取得 Cookie 項目的命名空間。

(繼承來源 SessionSecurityTokenHandler)
TokenLifetime

取得或設定語彙基元存留期。

(繼承來源 SessionSecurityTokenHandler)
TokenType

取得這個處理常式處理的權杖類型。

(繼承來源 SessionSecurityTokenHandler)
Transforms

取得會套用至 Cookie 的轉換。

(繼承來源 SessionSecurityTokenHandler)

方法

ApplyTransforms(Byte[], Boolean)

套用 Transforms 屬性所指定的轉換,對指定的 Cookie 進行編碼或解碼。

(繼承來源 SessionSecurityTokenHandler)
CanReadKeyIdentifierClause(XmlReader)

傳回值,這個值表示指定的 XML 讀取器所參考的 XML 項目是否為此執行個體可還原序列化的金鑰識別項子句。

(繼承來源 SecurityTokenHandler)
CanReadToken(String)

傳回值,這個值表示指定的字串是否可還原序列化為此執行個體所處理的型別語彙基元。

(繼承來源 SecurityTokenHandler)
CanReadToken(XmlReader)

傳回值,指出讀取器是否位在 <wsc:SecurityContextToken> 項目。

(繼承來源 SessionSecurityTokenHandler)
CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

傳回值,指出這個執行個體是否能夠序列化指定的金鑰識別碼子句。

(繼承來源 SecurityTokenHandler)
CreateSecurityTokenReference(SecurityToken, Boolean)

在衍生類別中覆寫時,建立該類別所處理之權杖的安全性權杖參考。 這個方法通常是由安全性權杖服務 (STS) 呼叫。

(繼承來源 SecurityTokenHandler)
CreateSessionSecurityToken(ClaimsPrincipal, String, String, DateTime, DateTime)

根據指定的宣告主體與權杖的有效時間範圍,建立 SessionSecurityToken

(繼承來源 SessionSecurityTokenHandler)
CreateToken(SecurityTokenDescriptor)

以指定的權杖描述元為基礎建立安全性權杖。

(繼承來源 SessionSecurityTokenHandler)
DetectReplayedToken(SecurityToken)

當在衍生類別中覆寫時,如果指定的權杖被偵測為被重新執行,則擲回例外狀況。

(繼承來源 SecurityTokenHandler)
Equals(Object)

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

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetTokenTypeIdentifiers()

取得此處理常式可處理的語彙基元型別的語彙基元型別 URI。

(繼承來源 SessionSecurityTokenHandler)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
LoadCustomConfiguration(XmlNodeList)

從 XML 載入自訂組態。

(繼承來源 SessionSecurityTokenHandler)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ReadKeyIdentifierClause(XmlReader)

在衍生類別中覆寫時,將指定 XML 讀取器所參考的 XML 還原序列化為參考該衍生類別所處理之權仗的索引鍵識別項子句。

(繼承來源 SecurityTokenHandler)
ReadToken(Byte[], SecurityTokenResolver)

使用指定的語彙基元解析程式從位元組資料流讀取SessionSecurityToken

(繼承來源 SessionSecurityTokenHandler)
ReadToken(String)

在衍生類別中覆寫時,將指定字串還原序列化為該衍生類別所處理之類型的權仗。

(繼承來源 SecurityTokenHandler)
ReadToken(XmlReader)

使用指定的 XML 讀取器讀取 SessionSecurityToken

(繼承來源 SessionSecurityTokenHandler)
ReadToken(XmlReader, SecurityTokenResolver)

使用指定的 XML 讀取器和權杖解析程式,讀取 SessionSecurityToken

(繼承來源 SessionSecurityTokenHandler)
SetTransforms(IEnumerable<CookieTransform>)

設定會套用至 Cookie 的轉換。

(繼承來源 SessionSecurityTokenHandler)
ToString()

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

(繼承來源 Object)
TraceTokenValidationFailure(SecurityToken, String)

當啟用追蹤時,在安全性權杖驗證期間追蹤失敗事件。

(繼承來源 SecurityTokenHandler)
TraceTokenValidationSuccess(SecurityToken)

當啟用追蹤時,追蹤安全性權杖驗證成功事件。

(繼承來源 SecurityTokenHandler)
ValidateSession(SessionSecurityToken)

判斷與指定之權杖相關聯的工作階段是否仍然有效。 藉由檢查指定的權杖的 ValidFromValidTo 屬性,即可判斷有效性。 如果工作階段已不再有效,則擲回例外狀況。

(繼承來源 SessionSecurityTokenHandler)
ValidateToken(SecurityToken)

驗證指定的語彙基元,並傳回其宣告。

(繼承來源 SessionSecurityTokenHandler)
ValidateToken(SessionSecurityToken, String)

驗證指定的工作階段權杖並傳回其宣告。

(繼承來源 SessionSecurityTokenHandler)
WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

在衍生類別中覆寫時,將指定的金鑰識別碼子句序列化為 XML。 金鑰識別項子句必須是衍生類別所支援的型別。

(繼承來源 SecurityTokenHandler)
WriteToken(SecurityToken)

在衍生類別中覆寫時,將指定的安全性權杖序列化為字串。 權杖必須是由衍生類別所處理的型別。

(繼承來源 SecurityTokenHandler)
WriteToken(SessionSecurityToken)

將指定的語彙基元序列化至位元組陣列。

(繼承來源 SessionSecurityTokenHandler)
WriteToken(XmlWriter, SecurityToken)

使用指定的 XML 寫入器,序列化指定的語彙基元。

(繼承來源 SessionSecurityTokenHandler)

適用於

另請參閱