SecurityTokenHandler 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
安全性權杖處理常式的抽象基底類別。
public ref class SecurityTokenHandler abstract : System::IdentityModel::Configuration::ICustomIdentityConfiguration
public abstract class SecurityTokenHandler : System.IdentityModel.Configuration.ICustomIdentityConfiguration
type SecurityTokenHandler = class
interface ICustomIdentityConfiguration
Public MustInherit Class SecurityTokenHandler
Implements ICustomIdentityConfiguration
- 繼承
-
SecurityTokenHandler
- 衍生
- 實作
範例
所有 SecurityTokenHandler 主題中的程式碼範例都是取自 Custom Token
範例。 此範例提供自定義類別,可讓您處理簡單 Web 令牌 (SWT) 。 如需此範例和其他可供 WIF 下載範例的資訊,請參閱 WIF 程式代碼範例索引。 下列 XML 示範如何將 SWT 令牌處理程式新增至令牌處理程式集合。
<system.identityModel>
<identityConfiguration saveBootstrapContext="true">
<issuerTokenResolver type="SimpleWebToken.CustomIssuerTokenResolver, SimpleWebToken">
<AddAudienceKeyPair symmetricKey="wAVkldQiFypTQ+kdNdGWCYCHRcee8XmXxOvgmak8vSY=" audience="http://localhost:19851/" />
</issuerTokenResolver>
<issuerNameRegistry type="RelyingParty.TrustedIssuerNameRegistry, RelyingParty"/>
<audienceUris>
<add value="http://localhost:19851/"/>
</audienceUris>
<securityTokenHandlers>
<add type="SimpleWebToken.SimpleWebTokenHandler, SimpleWebToken" />
</securityTokenHandlers>
</identityConfiguration>
</system.identityModel>
備註
類別 SecurityTokenHandler 是所有安全性令牌處理程式衍生的來源基類。 安全性權杖處理程式負責:
驗證安全性令牌 (SecurityToken) 其設計來將令牌中包含的宣告處理和封裝成 ClaimsIdentity 物件。
串行化和還原串行化其設計用來處理之型別的安全性令牌。
串行化和還原串行化密鑰標識子句 (SecurityKeyIdentifierClause) 參考其設計來處理專案之
<wsse:SecurityTokenReference>
型別的標記。從 SecurityTokenDescriptor 類別實作 SecurityTokenService 所傳遞的物件建立安全性令牌。
從安全性令牌建立金鑰標識子子句,以實作 SecurityTokenService 類別。
Windows Identity Foundation (WIF) 隨附下列現用的安全性令牌處理程式:
這些類別大部分都會公開其他成員,這些成員會實作類別所設計之令牌處理特有的功能。 在許多情況下,最好是從其中一個類別衍生,而不是直接從 類別衍生 SecurityTokenHandler 。
您可以在組態檔中<,指定 securityTokenHandlers> 元素底下的 add>、remove 或 clear 元素,以新增或移除權杖處理程式集合中的安全性權杖處理程式。<<><> SecurityTokenHandlerConfiguration包含處理程式集合之組態設定的物件可以透過 Configuration 屬性存取,而 Token 處理程式所屬的處理程式集合可以從 屬性存取ContainingCollection。 您可以覆寫 LoadCustomConfiguration 方法來處理處理程式接受的任何自定義組態專案。
類別 SecurityTokenHandler 會公開數個其他屬性和方法。 視您選擇實作的功能而定,您可以覆寫其中部分或所有成員。
您必須覆寫 TokenType 屬性和 GetTokenTypeIdentifiers 方法,以提供 WIF 基礎結構,以及類別設計用來處理之安全性令牌類型的相關信息。
驗證、串行化和還原串行化功能是透過屬性或方法公開,指出處理程式是否可以執行結合實作功能之方法或方法的特定函式。 下列清單會將指示功能的屬性或方法與實作該功能的方法配對:
屬性 CanValidateToken 和 ValidateToken 方法:驗證令牌,並將令牌中包含的宣告封裝成 ClaimsIdentity。
屬性 CanWriteToken 和 WriteToken 方法:令牌串行化。
方法和CanReadTokenReadToken方法:令牌還原串行化。
方法和 CanReadKeyIdentifierClause 方法 ReadKeyIdentifierClause :還原串行化密鑰標識子句。
方法和 CanWriteKeyIdentifierClause 方法 WriteKeyIdentifierClause :串行化密鑰標識子句。
和 CreateTokenCreateSecurityTokenReference 方法是從類別實作中的 SecurityTokenService 管線呼叫。
DetectReplayedToken WIF 基礎結構會呼叫 方法,以判斷是否已收到指定的令牌。 根據預設,這個方法會傳 false
回 ,表示尚未收到令牌。 您可以覆寫 方法,並提供邏輯來偵測重新執行的令牌。
建構函式
SecurityTokenHandler() |
從衍生類別中的建構函式呼叫,以將 SecurityTokenHandler 類別初始化。 |
屬性
CanValidateToken |
取得值,指出處理常式是否支援驗證安全性權杖。 |
CanWriteToken |
取得值,指出處理常式是否可序列化安全性權杖。 |
Configuration |
取得或設定為目前執行個體提供組態的 SecurityTokenHandlerConfiguration 物件。 |
ContainingCollection |
取得包含目前執行個體的權杖處理常式集合。 |
TokenType |
在衍生類別中覆寫時,取得由這個執行個體處理的安全性權杖型別。 |
方法
CanReadKeyIdentifierClause(XmlReader) |
傳回值,這個值表示指定的 XML 讀取器所參考的 XML 項目是否為此執行個體可還原序列化的金鑰識別項子句。 |
CanReadToken(String) |
傳回值,這個值表示指定的字串是否可還原序列化為此執行個體所處理的型別語彙基元。 |
CanReadToken(XmlReader) |
傳回值,這個值表示指定的 XML 讀取器所參考的 XML 項目是否可讀取為此執行個體所處理的型別語彙基元。 |
CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause) |
傳回值,指出這個執行個體是否能夠序列化指定的金鑰識別碼子句。 |
CreateSecurityTokenReference(SecurityToken, Boolean) |
在衍生類別中覆寫時,建立該類別所處理之權杖的安全性權杖參考。 這個方法通常是由安全性權杖服務 (STS) 呼叫。 |
CreateToken(SecurityTokenDescriptor) |
在衍生類別中覆寫時,請使用指定的權杖描述元建立安全性權杖。 安全性權杖服務 (STS) 會呼叫這個方法。 |
DetectReplayedToken(SecurityToken) |
當在衍生類別中覆寫時,如果指定的權杖被偵測為被重新執行,則擲回例外狀況。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetTokenTypeIdentifiers() |
在衍生類別中覆寫時,傳回在要求中使用的 URI 集合,識別衍生類別所處理的權仗型別。 |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
LoadCustomConfiguration(XmlNodeList) |
在衍生類別中覆寫時,從 XML 載入自訂組態。 |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ReadKeyIdentifierClause(XmlReader) |
在衍生類別中覆寫時,將指定 XML 讀取器所參考的 XML 還原序列化為參考該衍生類別所處理之權仗的索引鍵識別項子句。 |
ReadToken(String) |
在衍生類別中覆寫時,將指定字串還原序列化為該衍生類別所處理之類型的權仗。 |
ReadToken(XmlReader) |
在衍生類別中覆寫時,將指定 XML 讀取器所參考的 XML 還原序列化為該衍生類別所處理之類型的權仗。 |
ReadToken(XmlReader, SecurityTokenResolver) |
在衍生類別中覆寫時,使用指定的權仗解析程式,將指定 XML 讀取器所參考的 XML 還原序列化為權杖,此權杖的型別由該衍生類別處理。 |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |
TraceTokenValidationFailure(SecurityToken, String) |
當啟用追蹤時,在安全性權杖驗證期間追蹤失敗事件。 |
TraceTokenValidationSuccess(SecurityToken) |
當啟用追蹤時,追蹤安全性權杖驗證成功事件。 |
ValidateToken(SecurityToken) |
在衍生類別中覆寫時,驗證指定的安全性權杖。 權杖必須是由衍生類別所處理的型別。 |
WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause) |
在衍生類別中覆寫時,將指定的金鑰識別碼子句序列化為 XML。 金鑰識別項子句必須是衍生類別所支援的型別。 |
WriteToken(SecurityToken) |
在衍生類別中覆寫時,將指定的安全性權杖序列化為字串。 權杖必須是由衍生類別所處理的型別。 |
WriteToken(XmlWriter, SecurityToken) |
在衍生類別中覆寫時,將指定的安全性權杖序列化為 XML。 權杖必須是由衍生類別所處理的型別。 |