Поделиться через


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) для обработки маркеров безопасности с поддержкой утверждений SAML 2.0, добавив экземпляр класса SecurityTokenHandlerCollection в Saml2SecurityTokenHandler объект, настроенный для службы (или приложения). Это можно сделать программными средствами или в файле конфигурации. Сам обработчик настраивается из конфигурации, указанной для коллекции, через свойство коллекции Configuration при его добавлении в коллекцию. Хотя обработчик можно настроить по отдельности, задав его Configuration свойство, обычно это не требуется. Однако если обработчик должен быть настроен по отдельности, свойство должно быть задано после добавления обработчика в коллекцию.

Во многих сценариях Saml2SecurityTokenHandler класс можно использовать как есть, однако класс предоставляет множество точек расширения с помощью методов, которые он предоставляет. Наследуя от Saml2SecurityTokenHandler и переопределяя определенные методы, можно изменить функциональные возможности обработки маркеров, предоставляемые в реализации по умолчанию, или добавить обработку для расширений в спецификацию утверждения SAML, которая может потребоваться в некоторых пользовательских сценариях.

Конструкторы

Saml2SecurityTokenHandler()

Инициализирует новый экземпляр класса Saml2SecurityTokenHandler с токеном безопасности по умолчанию.

Saml2SecurityTokenHandler(SamlSecurityTokenRequirement)

Инициализирует новый экземпляр класса Saml2SecurityTokenHandler с указанными требованиями токенов безопасности.

Поля

TokenProfile11ValueType

Тип значения идентификатора ключа для идентификаторов утверждения SAML 2.0, в соответствии с профилем токена OASIS Web Services Security 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)

Создает объект WindowsIdentity с использованием указанного имени субъекта-пользователя (UPN).

CreateXmlStringFromAttributes(IEnumerable<Saml2Attribute>)

Создает форматированную XML-строку из коллекции атрибутов SAML 2.0, представляющих субъект.

DenormalizeAuthenticationType(String)

Возвращает AuthenticationContext Saml2, соответствующий нормализованному значению.

DetectReplayedToken(SecurityToken)

Вызывает исключение, если указанный токен уже существует в кэше воспроизведения токенов; в противном случае токен добавляется в кэш.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FindUpn(ClaimsIdentity)

Находит значение утверждения имени участника-пользователя в указанном объекте ClaimsIdentity для сопоставления идентификатора с объектом 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:Statement>, который задает xsi:type для saml:AttributeStatementType.

ReadAttributeValue(XmlReader, Saml2Attribute)

Считывает значение атрибута.

ReadAudienceRestriction(XmlReader)

Считывает элемент <saml:AudienceRestriction> или элемент <saml:Condition>, который задает xsi:type для saml:AudienceRestrictionType.

ReadAuthenticationContext(XmlReader)

Считывает элемент <saml:AuthnContext>.

ReadAuthenticationStatement(XmlReader)

Считывает элемент <saml:AuthnStatement> или элемент <saml:Statement>, который задает xsi:type для saml:AuthnStatementType.

ReadAuthorizationDecisionStatement(XmlReader)

Считывает элемент <saml:AuthzDecisionStatement> или элемент <saml:Statement>, который задает xsi:type для saml:AuthzDecisionStatementType.

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:Condition>, который задает xsi:type для saml:ProxyRestrictionType.

ReadSigningKeyInfo(XmlReader, Saml2Assertion)

Десериализует SAML Signing KeyInfo.

ReadStatement(XmlReader)

Считывает элемент <saml:Statement>.

ReadSubject(XmlReader)

Считывает элемент <saml:Subject>.

ReadSubjectConfirmation(XmlReader)

Считывает элемент <SubjectConfirmation>.

ReadSubjectConfirmationData(XmlReader)

Считывает элемент <saml:SubjectConfirmationData>.

ReadSubjectId(XmlReader, String)

Этот метод обрабатывает конструкции, используемые в элементах <Subject> и <SubjectConfirmation> для ИД.

ReadSubjectKeyInfo(XmlReader)

Выполняет десериализацию субъекта SAML элемента <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)

Записывает элемент подписывания <ds:KeyInfo> с помощью заданного средства записи XML.

WriteStatement(XmlWriter, Saml2Statement)

Записывает Saml2Statement.

WriteSubject(XmlWriter, Saml2Subject)

Записывает элемент <saml:Subject>.

WriteSubjectConfirmation(XmlWriter, Saml2SubjectConfirmation)

Записывает элемент <saml:SubjectConfirmation>.

WriteSubjectConfirmationData(XmlWriter, Saml2SubjectConfirmationData)

Записывает элемент <saml:SubjectConfirmationData>.

WriteSubjectKeyInfo(XmlWriter, SecurityKeyIdentifier)

Сериализует элемент <ds:KeyInfo> субъекта с помощью заданного средства записи XML.

WriteSubjectLocality(XmlWriter, Saml2SubjectLocality)

Записывает элемент <saml:SubjectLocality>.

WriteToken(SecurityToken)

При переопределении в производном классе сериализует указанный токен безопасности в строку. Токен должен иметь тип, обрабатываемый производным классом.

(Унаследовано от SecurityTokenHandler)
WriteToken(XmlWriter, SecurityToken)

Выполняет запись токена SAML2 в заданное средство записи XML.

Применяется к

См. также раздел