SamlSecurityTokenHandler 类

定义

表示安全标记处理程序,其可从 SAML 1.1 Assertions 创建安全标记。

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

注解

SamlSecurityTokenHandler类将 SAML 1.1 断言支持的安全令牌序列化和反序列化为 SamlSecurityToken 对象。 安全令牌处理程序负责创建、读取、写入和验证令牌。

可以通过将 类SecurityTokenHandlerCollectionSamlSecurityTokenHandler实例添加到为服务 (或应用程序) 配置的对象, (STS) 或信赖方 (RP) 应用程序来处理 SAML 1.1 断言支持的安全令牌。 这可以通过编程方式或在配置文件中完成。 处理程序本身是在将集合添加到集合时,通过集合的 Configuration 属性从为集合指定的配置进行配置的。 虽然可以通过设置处理程序 Configuration 的 属性来单独配置处理程序,但通常没有必要这样做;但是,如果必须单独配置处理程序,则应在将处理程序添加到集合后设置 该属性。

对于许多方案, SamlSecurityTokenHandler 类可以按原样使用;但是, 类通过它公开的方法提供许多扩展点。 通过从 SamlSecurityTokenHandler 派生并重写特定方法,可以修改默认实现中提供的令牌处理功能,也可以将处理添加到某些自定义方案中可能需要的 SAML 断言规范的扩展。

构造函数

SamlSecurityTokenHandler()

使用默认安全标记需求初始化 SamlSecurityTokenHandler 类的新实例。

SamlSecurityTokenHandler(SamlSecurityTokenRequirement)

使用指定的安全标记需求初始化 SamlSecurityTokenHandler 类的新实例。

字段

Assertion

urn:oasis:names:tc:SAML:1.0:断言。

BearerConfirmationMethod

urn:oasis:names:tc:SAML:1.0:cm:bearer。

Namespace

urn:oasis:names:tc:SAML:1.0

UnspecifiedAuthenticationMethod

urn:oasis:names:tc:SAML:1.0:am:unspecified。

属性

CanValidateToken

获取指示此处理程序是否能验证类型 SamlSecurityToken 的标记的值。

CanWriteToken

获取指示此处理程序能否序列化 SamlSecurityToken 类型的标记的值。

CertificateValidator

获取或设置当前实例用于验证 X.509 证书的 X.509 证书验证程序。

Configuration

获取或设置提供配置当前实例的 SecurityTokenHandlerConfiguration 对象。

(继承自 SecurityTokenHandler)
ContainingCollection

获取包含当前实例的标记处理程序集合。

(继承自 SecurityTokenHandler)
KeyInfoSerializer

获取或设置用于序列化和反序列化键标识程序的安全令牌序列化程序。

SamlSecurityTokenRequirement

获取或设置此实例的安全令牌要求。

TokenType

获取处理程序支持的标记的类型。

方法

AddDelegateToAttributes(ClaimsIdentity, ICollection<SamlAttribute>, SecurityTokenDescriptor)

将所有与 ActAs 主题相关的委托添加到特性集合中。

CanReadKeyIdentifierClause(XmlReader)

返回指示由指定 XML 读取器引用的 XML 元素是否为由此实例反序列化的关键标识符子句的值。

(继承自 SecurityTokenHandler)
CanReadToken(String)

返回指示指定字符串是否可以作为由此实例处理类型标记的反序列化的值。

(继承自 SecurityTokenHandler)
CanReadToken(XmlReader)

指示当前 XML 元素是否可以读取为实例掌控的类型标志。

CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

返回指示指定的密钥标识符子句是否可以由此实例序列化的值。

(继承自 SecurityTokenHandler)
CollectAttributeValues(ICollection<SamlAttribute>)

使用通常声明类型、声明值类型集合特性,并使用多个值集合颁发者到单个特性。

CreateAdvice(SecurityTokenDescriptor)

当在派生类中重写时,为该断言创建一个 SamlAdvice 对象。

CreateAssertion(String, SamlConditions, SamlAdvice, IEnumerable<SamlStatement>)

使用指定颁发者、条件、建议和语句,创建 SamlAssertion 对象。 您可以重写此方法以自定义用于创建断言的参数。

CreateAttribute(Claim, SecurityTokenDescriptor)

从声明中创建一个 SamlAttribute 对象。

CreateAttributeStatement(SamlSubject, ClaimsIdentity, SecurityTokenDescriptor)

从标记说明符创建 SamlAttributeStatement 对象。

CreateAuthenticationStatement(SamlSubject, AuthenticationInformation, SecurityTokenDescriptor)

创建从指定的身份验证信息中创建 SAML 1.1 身份验证语句。

CreateClaims(SamlSecurityToken)

从 SAML 1.1 标记创建声明。

CreateConditions(Lifetime, String, SecurityTokenDescriptor)

创建断言的条件。

CreateSamlSubject(SecurityTokenDescriptor)

为此断言创建 SAML 1.1 主题。

CreateSecurityTokenReference(SecurityToken, Boolean)

标记没附在消息上时创建安全标记引用。

CreateStatements(SecurityTokenDescriptor)

创建包含于断言中的 SAML 1.1 语句。

CreateToken(SecurityTokenDescriptor)

创建基于标记说明符的安全标记。

CreateWindowsIdentity(String)

使用指定用户主名称 (UPN)创建 WindowsIdentity 对象。

CreateXmlStringFromAttributes(IEnumerable<SamlAttribute>)

从表示参与者的 SAML 1.1 特性的集合中生成一个 XML 格式的字符串。

DenormalizeAuthenticationType(String)

返回对 SAML 身份验证方法的指定的规范化值相匹配的 SAML11 身份验证方法标识符。

DetectReplayedToken(SecurityToken)

如果指定标记已存在于标记重播缓存中则引发异常;否则该标记将添加到缓存中。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
FindUpn(ClaimsIdentity)

在指定的 ClaimsIdentity 对象中查找 UPN 声明值,目的是为了把其标志映射到 WindowsIdentity 对象。

GetEncryptingCredentials(SecurityTokenDescriptor)

获取标记的加密凭据。 重写此方法以更改标记的加密凭据。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetSigningCredentials(SecurityTokenDescriptor)

获取用于对断言进行签名的凭据。

GetTokenReplayCacheEntryExpirationTime(SamlSecurityToken)

返回直到应在标记重播缓存中保留的标记的时间。

GetTokenTypeIdentifiers()

获取处理程序支持的标记的类型标识符。

GetType()

获取当前实例的 Type

(继承自 Object)
LoadCustomConfiguration(XmlNodeList)

从 XML 加载自定义的配置。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
NormalizeAuthenticationType(String)

返回与 SAML 1.1 身份验证方法标识符匹配的规范化值。

ProcessAttributeStatement(SamlAttributeStatement, ClaimsIdentity, String)

从 SAML 1.1 特性语句中创建声明并将它们添加到指定主题。

ProcessAuthenticationStatement(SamlAuthenticationStatement, ClaimsIdentity, String)

从 SAML 1.1 身份验证语句中创建声明并将它们添加到指定主题。

ProcessAuthorizationDecisionStatement(SamlAuthorizationDecisionStatement, ClaimsIdentity, String)

从 SAML 1.1 授权决定语句中创建声明并将它们添加到指定主题。

ProcessSamlSubject(SamlSubject, ClaimsIdentity, String)

从 SAML 1.1 主题中创建声明并将它们添加到指定主题。

ProcessStatement(IList<SamlStatement>, ClaimsIdentity, String)

从 SAML 1.1 语句的集合中创建声明并将它们添加到指定主题。

ReadAction(XmlReader)

读取 <saml:Action> 元素。

ReadAdvice(XmlReader)

读取 <saml:Advice> 元素。

ReadAssertion(XmlReader)

读取 <saml:Assertion> 元素。

ReadAttribute(XmlReader)

读取 <saml:Attribute> 元素。

ReadAttributeStatement(XmlReader)

读取 <saml:AttributeStatement> 元素或 <saml:Statement> 元素,后者指定 saml:AttributeStatementType 的 xsi:type。

ReadAttributeValue(XmlReader, SamlAttribute)

读取特性值。

ReadAudienceRestrictionCondition(XmlReader)

从指定的 XML 读取器读取 <saml:AudienceRestrictionCondition> 元素。

ReadAuthenticationStatement(XmlReader)

读取 <saml:AuthnStatement> 元素或 <saml:Statement> 元素,后者指定 saml:AuthnStatementType 的 xsi:type。

ReadAuthorityBinding(XmlReader)

读取 <saml:AuthorityBinding> 元素。

ReadAuthorizationDecisionStatement(XmlReader)

读取 <saml:AuthzDecisionStatement> 元素或 <saml:Statement> 元素,后者指定 saml:AuthzDecisionStatementType 的 xsi:type。

ReadCondition(XmlReader)

从指定的读取器读取 saml:AudienceRestrictionCondition 或 saml:DoNotCacheCondition。

ReadConditions(XmlReader)

读取 <saml:Conditions> 元素。

ReadDoNotCacheCondition(XmlReader)

从指定的 XML 读取器读取 saml:DoNotCacheCondition 元素。

ReadEvidence(XmlReader)

读取 <saml:Evidence> 元素。

ReadKeyIdentifierClause(XmlReader)

当在派生类中重写时,使用指定 XML 读取器将 XML 引用的反序列化为由该类处理的主要标志符子句。

(继承自 SecurityTokenHandler)
ReadSigningKeyInfo(XmlReader, SamlAssertion)

反序列化 SAML Signing KeyInfo。

ReadStatement(XmlReader)

读取 <saml:Statement> 元素。

ReadSubject(XmlReader)

读取 <saml:Subject> 元素。

ReadSubjectKeyInfo(XmlReader)

反序列化 SAML 主题 <ds:KeyInfo> 元素。

ReadToken(String)

当在派生类中重写时,由派生类反序列化类型处理的指定字符串。

(继承自 SecurityTokenHandler)
ReadToken(XmlReader)

从指定流中读取 SAML 1.1 标记。

ReadToken(XmlReader, SecurityTokenResolver)

当在派生类中重写时,由指定的 XML 读取器使用指定的标记解析器处理派生类类型的标记引用的 XML 进行反序列化。

(继承自 SecurityTokenHandler)
ResolveIssuerToken(SamlAssertion, SecurityTokenResolver)

将 Signing Key Identifier解析为 SecurityToken

ResolveSubjectKeyIdentifier(SecurityKeyIdentifier)

解决在 saml:Subject 元素中指定的 SecurityKeyIdentifier

SetDelegateFromAttribute(SamlAttribute, ClaimsIdentity, String)

当检测 SamlAttribute 的特殊类型时调用此方法。 已传入的 SamlAttribute 包装一个包含特性值的集合的 SamlAttribute (特性值在 AttributeValues 属性中),每一个特性值将被映射到一个声明。 所有的声明都将返回到 ClaimsIdentity

ToString()

返回表示当前对象的字符串。

(继承自 Object)
TraceTokenValidationFailure(SecurityToken, String)

当启用跟踪时,在安全标记的验证过程跟踪失败事件。

(继承自 SecurityTokenHandler)
TraceTokenValidationSuccess(SecurityToken)

当启用跟踪时,跟踪安全标记事件的成功验证。

(继承自 SecurityTokenHandler)
TryResolveIssuerToken(SamlAssertion, SecurityTokenResolver, SecurityToken)

将 Signing Key Identifier解析为 SecurityToken。

ValidateConditions(SamlConditions, Boolean)

验证指定的 SamlConditions 对象。

ValidateToken(SecurityToken)

验证标记数据并返回其声明。

WriteAction(XmlWriter, SamlAction)

写入 <saml:Action> 元素。

WriteAdvice(XmlWriter, SamlAdvice)

写入 <saml:Advice> 元素。

WriteAssertion(XmlWriter, SamlAssertion)

序列化指定的 SAML 断言到指定的 XML 编写器。

WriteAttribute(XmlWriter, SamlAttribute)

写入 <saml:Attribute> 元素。

WriteAttributeStatement(XmlWriter, SamlAttributeStatement)

写入 <saml:AttributeStatement> 元素。

WriteAttributeValue(XmlWriter, String, SamlAttribute)

写入 saml:特性值。

WriteAudienceRestrictionCondition(XmlWriter, SamlAudienceRestrictionCondition)

写入 <saml:AudienceRestriction> 元素。

WriteAuthenticationStatement(XmlWriter, SamlAuthenticationStatement)

写入 <saml:AuthnStatement> 元素。

WriteAuthorityBinding(XmlWriter, SamlAuthorityBinding)

写入 <saml:AuthorityBinding> 元素。

WriteAuthorizationDecisionStatement(XmlWriter, SamlAuthorizationDecisionStatement)

写入 <saml:AuthzDecisionStatement> 元素。

WriteCondition(XmlWriter, SamlCondition)

序列化指定的 SamlCondition 对象。

WriteConditions(XmlWriter, SamlConditions)

写入 <saml:Conditions> 元素。

WriteDoNotCacheCondition(XmlWriter, SamlDoNotCacheCondition)

写入 <saml:DoNotCacheCondition> 元素。

WriteEvidence(XmlWriter, SamlEvidence)

写入 <saml:Evidence> 元素。

WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

在派生类中重写时,将密钥标识符子句序列化到 XML。 密钥标识符子句必须是派生类支持的类型。

(继承自 SecurityTokenHandler)
WriteSigningKeyInfo(XmlWriter, SecurityKeyIdentifier)

使用指定 XML 编写器写入签名 <ds:KeyInfo> 元素。

WriteStatement(XmlWriter, SamlStatement)

写入 SamlStatement。

WriteSubject(XmlWriter, SamlSubject)

写入 <saml:Subject> 元素。

WriteSubjectKeyInfo(XmlWriter, SecurityKeyIdentifier)

使用指定的 XML 编写器序列化主题 <ds:KeyInfo> 元素。

WriteToken(SecurityToken)

在派生类中重写时,将指定安全标记列化到字符串。 该标记必须是派生类处理的类型。

(继承自 SecurityTokenHandler)
WriteToken(XmlWriter, SecurityToken)

将 SAML 令牌写入指定的 XML 写入器。

适用于

另请参阅