共用方式為


Saml2SecurityTokenHandler 類別

定義

表示會從 SAML 2.0 判斷提示建立安全性權杖的安全性權杖處理常式。

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

備註

類別會將 Saml2SecurityTokenHandler SAML 2.0 判斷提示所支援的安全性令牌串行化和還原串行化為 Saml2SecurityToken 物件。 安全性令牌處理程式負責建立、讀取、寫入和驗證令牌。

您可以將安全性令牌服務 (STS) 或信賴憑證者 (RP) 應用程式,藉由將 類別的 Saml2SecurityTokenHandler 實例新增至 SecurityTokenHandlerCollection 針對服務 (或應用程式) 設定的物件,以處理 SAML 2.0 判斷提示支援的安全性令牌。 這可以程序設計方式或在組態檔中完成。 處理程式本身是在集合加入至集合時,透過集合的 屬性,從為集合 Configuration 指定的組態進行設定。 雖然您可以藉由設定其 Configuration 屬性來個別設定處理程式,但這通常並非必要;不過,如果必須個別設定處理程式,則在將處理程式新增至集合之後,應該設定 屬性。

在許多情況下, Saml2SecurityTokenHandler 類別可以依原樣使用;不過,類別會透過公開的方法提供許多擴充點。 藉由衍生自 Saml2SecurityTokenHandler 和 覆寫特定方法,您可以修改預設實作中提供的令牌處理功能,或將延伸模組的處理新增至某些自定義案例中可能需要的 SAML 判斷提示規格。

建構函式

Saml2SecurityTokenHandler()

使用預設安全性權杖需求,初始化 Saml2SecurityTokenHandler 類別的新執行個體。

Saml2SecurityTokenHandler(SamlSecurityTokenRequirement)

使用指定的安全性權杖需求,初始化 Saml2SecurityTokenHandler 類別的新執行個體。

欄位

TokenProfile11ValueType

SAML 2.0 判斷提示識別碼的金鑰識別項值型別,如 OASIS Web 服務安全性 SAML 權杖設定檔 1.1 所定義。 此為 URI。

屬性

CanValidateToken

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

CanWriteToken

取得值,指出這個處理常式是否可序列化 Saml2SecurityToken 型別的權杖。

CertificateValidator

取得或設定目前執行個體用來驗證 X.509 憑證的 X.509 憑證驗證程式。

Configuration

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

(繼承來源 SecurityTokenHandler)
ContainingCollection

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

(繼承來源 SecurityTokenHandler)
KeyInfoSerializer

取得或設定用來序列化和還原序列化金鑰識別項的安全性權杖序列化程式。

SamlSecurityTokenRequirement

取得或設定這個執行個體的安全性權杖需求。

TokenType

取得這個處理常式所支援的語彙基元型別。

方法

AddDelegateToAttributes(ClaimsIdentity, ICollection<Saml2Attribute>, SecurityTokenDescriptor)

將與主題相關聯的所有委派加入至屬性集合中。

CanReadKeyIdentifierClause(XmlReader)

表示目前的 XML 項目是否指向這個執行個體可序列化的金鑰識別項子句。

CanReadToken(String)

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

(繼承來源 SecurityTokenHandler)
CanReadToken(XmlReader)

指出是否可讀取目前的 XML 項目當做這個執行個體所處理型別的權杖。

CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

指出這個執行個體是否可以序列化指定的金鑰識別項子句。

CollectAttributeValues(ICollection<Saml2Attribute>)

將具有一般宣告型別、宣告實值型別及原始簽發者的屬性收集到有多個值的單一屬性。

CreateAdvice(SecurityTokenDescriptor)

建立判斷提示的 Saml2Advice 物件。

CreateAttribute(Claim, SecurityTokenDescriptor)

建立宣告的 Saml2Attribute 物件。

CreateAttributeStatement(ClaimsIdentity, SecurityTokenDescriptor)

從權杖描述元建立 Saml2AttributeStatement 物件。

CreateAuthenticationStatement(AuthenticationInformation, SecurityTokenDescriptor)

從指定的驗證資訊建立 SAML 2.0 驗證陳述式。

CreateClaims(Saml2SecurityToken)

從 SAML 2.0 權杖建立宣告。

CreateConditions(Lifetime, String, SecurityTokenDescriptor)

建立判斷提示的條件。

CreateIssuerNameIdentifier(SecurityTokenDescriptor)

建立識別判斷提示簽發者的名稱識別項。

CreateSamlSubject(SecurityTokenDescriptor)

建立判斷提示的 SAML 2.0 主題。

CreateSecurityTokenReference(SecurityToken, Boolean)

建立權杖未附加至訊息時的安全性權杖參考。

CreateStatements(SecurityTokenDescriptor)

建立要包含在判斷提示中的 SAML 2.0 陳述式。

CreateToken(SecurityTokenDescriptor)

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

CreateWindowsIdentity(String)

指定的使用者主要名稱 (UPN),建立 WindowsIdentity 物件。

CreateXmlStringFromAttributes(IEnumerable<Saml2Attribute>)

從表示行動之 SAML 2.0 屬性的集合中建置 XML 格式化字串。

DenormalizeAuthenticationType(String)

傳回 Saml2 AuthenticationContext 比對的標準化數值。

DetectReplayedToken(SecurityToken)

如果語彙基元重新執行快取中已存在指定的語彙基元,會擲回例外狀況,否則語彙基元會加入至快取。

Equals(Object)

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

(繼承來源 Object)
FindUpn(ClaimsIdentity)

尋找指定之 ClaimsIdentity 物件中的 UPN 宣告值,以便用來將識別對應至 WindowsIdentity 物件。

GetEncryptingCredentials(SecurityTokenDescriptor)

取得權杖加密認證。 覆寫這個方法,以變更權杖加密認證。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetSigningCredentials(SecurityTokenDescriptor)

取得用於簽署判斷提示之認證。

GetTokenReplayCacheEntryExpirationTime(Saml2SecurityToken)

傳回權杖保存在權杖重新執行快取中的有效期間。

GetTokenTypeIdentifiers()

取得這個處理常式所支援的語彙基元型別識別項。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
LoadCustomConfiguration(XmlNodeList)

從 XML 載入自訂組態。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
NormalizeAuthenticationContextClassReference(String)

傳回符合 SAML 驗證內容類別參考的標準化值。

ProcessAttributeStatement(Saml2AttributeStatement, ClaimsIdentity, String)

從 SAML 2.0 屬性陳述式建立宣告,並將這些宣告加入至指定的主題。

ProcessAuthenticationStatement(Saml2AuthenticationStatement, ClaimsIdentity, String)

從 SAML 2.0 驗證陳述式建立宣告,並將這些宣告加入至指定的主題。

ProcessAuthorizationDecisionStatement(Saml2AuthorizationDecisionStatement, ClaimsIdentity, String)

從 SAML 2.0 授權決策建立宣告,並將這些宣告加入至指定的主題。

ProcessSamlSubject(Saml2Subject, ClaimsIdentity, String)

從 SAML 2.0 主題建立宣告,並將這些宣告加入至指定的主題。

ProcessStatement(Collection<Saml2Statement>, ClaimsIdentity, String)

從 SAML 2.0 陳述式的集合建立宣告,並將這些宣告加入至指定的主題。

ReadAction(XmlReader)

讀取 <saml:Action> 項目。

ReadAdvice(XmlReader)

讀取 <saml:Advice> 項目。

ReadAssertion(XmlReader)

讀取 <saml:Assertion> 項目。

ReadAttribute(XmlReader)

讀取 <saml:Attribute> 項目。

ReadAttributeStatement(XmlReader)

讀取 <saml:AttributeStatement> 項目或指定 saml:AttributeStatementType 之 xsi:type 的 <saml:Statement> 項目。

ReadAttributeValue(XmlReader, Saml2Attribute)

讀取屬性值。

ReadAudienceRestriction(XmlReader)

讀取 <saml:AudienceRestriction> 項目或指定 saml:AudienceRestrictionType 之 xsi:type 的 <saml:Condition> 項目。

ReadAuthenticationContext(XmlReader)

讀取 <saml:AuthnContext> 項目。

ReadAuthenticationStatement(XmlReader)

讀取 <saml:AuthnStatement> 項目或指定 saml:AuthnStatementType 之 xsi:type 的 <saml:Statement> 項目。

ReadAuthorizationDecisionStatement(XmlReader)

讀取 <saml:AuthzDecisionStatement> 項目或指定 saml:AuthzDecisionStatementType 之 xsi:type 的 <saml:Statement> 項目。

ReadConditions(XmlReader)

讀取 <saml:Conditions> 項目。

ReadEncryptedId(XmlReader)

讀取 <saml:EncryptedId> 項目。

ReadEvidence(XmlReader)

讀取 <saml:Evidence> 項目。

ReadIssuer(XmlReader)

讀取 <saml:Issuer> 項目。

ReadKeyIdentifierClause(XmlReader)

讀取 SecurityKeyIdentifierClause。

ReadNameId(XmlReader)

讀取 <saml:NameID> 項目。

ReadNameIdType(XmlReader)

<Issuer> 和 <NameID> 都是 NameIDType。 這個方法會讀取這些項目的其中一個項目的內容。

ReadProxyRestriction(XmlReader)

讀取 <saml:ProxyRestriction> 項目或指定 saml:ProxyRestrictionType 之 xsi:type 的 <saml:Condition> 項目。

ReadSigningKeyInfo(XmlReader, Saml2Assertion)

還原序列化 SAML 簽署 KeyInfo。

ReadStatement(XmlReader)

讀取 <saml:Statement> 項目。

ReadSubject(XmlReader)

讀取 <saml:Subject> 項目。

ReadSubjectConfirmation(XmlReader)

讀取 <SubjectConfirmation> 項目。

ReadSubjectConfirmationData(XmlReader)

讀取 <saml:SubjectConfirmationData> 項目。

ReadSubjectId(XmlReader, String)

這個方法會處理用於 ID 之 <Subject> 和 <SubjectConfirmation> 項目的建構。

ReadSubjectKeyInfo(XmlReader)

將 SAML Subject <ds:KeyInfo> 項目還原序列化。

ReadSubjectLocality(XmlReader)

讀取 <saml:SubjectLocality> 項目。

ReadToken(String)

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

(繼承來源 SecurityTokenHandler)
ReadToken(XmlReader)

自指定的資料流讀取 SAML 2.0 語彙基元。

ReadToken(XmlReader, SecurityTokenResolver)

在衍生類別中覆寫時,使用指定的權仗解析程式,將指定 XML 讀取器所參考的 XML 還原序列化為權杖,此權杖的型別由該衍生類別處理。

(繼承來源 SecurityTokenHandler)
ResolveIssuerToken(Saml2Assertion, SecurityTokenResolver)

將簽署金鑰識別碼解析為 SecurityToken

ResolveSecurityKeys(Saml2Assertion, SecurityTokenResolver)

解析SecurityKey 中參考的 Saml2Assertion 集合。

SetDelegateFromAttribute(Saml2Attribute, ClaimsIdentity, String)

當偵測到一種特殊型別的 Saml2Attribute,就會呼叫這個方法。 Saml2Attribute 透過包裝傳遞 Saml2Attribute,其包含屬性值集合 (在 Values 屬性中),其中每一個將對應到宣告。 所有宣告都會在 ClaimsIdentity 中與指定的簽發者一起傳回。

ToString()

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

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

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

(繼承來源 SecurityTokenHandler)
TraceTokenValidationSuccess(SecurityToken)

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

(繼承來源 SecurityTokenHandler)
TryResolveIssuerToken(Saml2Assertion, SecurityTokenResolver, SecurityToken)

將簽署金鑰識別碼解析為 SecurityToken。

ValidateConditions(Saml2Conditions, Boolean)

驗證指定的 Saml2Conditions 物件。

ValidateConfirmationData(Saml2SubjectConfirmationData)

驗證指定的 Saml2SubjectConfirmationData 物件。

ValidateToken(SecurityToken)

驗證權杖資料,並傳回其宣告。

WriteAction(XmlWriter, Saml2Action)

寫入 <saml:Action> 項目。

WriteAdvice(XmlWriter, Saml2Advice)

寫入 <saml:Advice> 項目。

WriteAssertion(XmlWriter, Saml2Assertion)

將指定的 SAML 判斷提示序列化至指定的 XML 寫入器。

WriteAttribute(XmlWriter, Saml2Attribute)

寫入 <saml:Attribute> 項目。

WriteAttributeStatement(XmlWriter, Saml2AttributeStatement)

寫入 <saml:AttributeStatement> 項目。

WriteAttributeValue(XmlWriter, String, Saml2Attribute)

寫入 saml:Attribute 值。

WriteAudienceRestriction(XmlWriter, Saml2AudienceRestriction)

寫入 <saml:AudienceRestriction> 項目。

WriteAuthenticationContext(XmlWriter, Saml2AuthenticationContext)

寫入 <saml:AuthnContext> 項目。

WriteAuthenticationStatement(XmlWriter, Saml2AuthenticationStatement)

寫入 <saml:AuthnStatement> 項目。

WriteAuthorizationDecisionStatement(XmlWriter, Saml2AuthorizationDecisionStatement)

寫入 <saml:AuthzDecisionStatement> 項目。

WriteConditions(XmlWriter, Saml2Conditions)

寫入 <saml:Conditions> 項目。

WriteEvidence(XmlWriter, Saml2Evidence)

寫入 <saml:Evidence> 項目。

WriteIssuer(XmlWriter, Saml2NameIdentifier)

寫入 <saml:Issuer> 項目。

WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

Saml2AssertionKeyIdentifierClause 序列化至指定的 XML 寫入器。

WriteNameId(XmlWriter, Saml2NameIdentifier)

寫入 <saml:NameID> 項目。

WriteNameIdType(XmlWriter, Saml2NameIdentifier)

<Issuer> 和 <NameID> 都是 NameIDType。 這個方法會寫入這些項目的其中一個項目的內容。

WriteProxyRestriction(XmlWriter, Saml2ProxyRestriction)

寫入 <saml:ProxyRestriction> 項目。

WriteSigningKeyInfo(XmlWriter, SecurityKeyIdentifier)

使用指定的 XML 寫入器寫入 Signing <ds:KeyInfo> 項目。

WriteStatement(XmlWriter, Saml2Statement)

寫入 Saml2Statement。

WriteSubject(XmlWriter, Saml2Subject)

寫入 <saml:Subject> 項目。

WriteSubjectConfirmation(XmlWriter, Saml2SubjectConfirmation)

寫入 <saml:SubjectConfirmation> 項目。

WriteSubjectConfirmationData(XmlWriter, Saml2SubjectConfirmationData)

寫入 <saml:SubjectConfirmationData> 項目。

WriteSubjectKeyInfo(XmlWriter, SecurityKeyIdentifier)

使用指定的 XML 寫入器將 Subject <ds:KeyInfo> 項目序列化。

WriteSubjectLocality(XmlWriter, Saml2SubjectLocality)

寫入 <saml:SubjectLocality> 項目。

WriteToken(SecurityToken)

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

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

將 SAML2 權杖寫入指定的 XML 寫入器。

適用於

另請參閱