MachineKeySessionSecurityTokenHandler 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用組態檔中 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
- 繼承
範例
下列 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) |
方法
適用於
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應