SecurityTokenHandler Classe

Définition

Classe de base abstraite pour les gestionnaires de jetons de sécurité.

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
Héritage
SecurityTokenHandler
Dérivé
Implémente

Exemples

Les exemples de code dans toutes les SecurityTokenHandler rubriques sont tirés de l’exemple Custom Token . Cet exemple fournit des classes personnalisées qui permettent le traitement des jetons web simples (SWT). Pour plus d’informations sur cet exemple et d’autres exemples disponibles pour WIF et où les télécharger, consultez Index d’exemple de code WIF. Le code XML suivant montre comment ajouter le gestionnaire de jetons SWT à la collection de gestionnaires de jetons.

<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>

Remarques

La SecurityTokenHandler classe est la classe de base à partir de laquelle dérivent tous les gestionnaires de jetons de sécurité. Un gestionnaire de jetons de sécurité est responsable des opérations suivantes :

  • Validation des jetons de sécurité (SecurityToken) du type qu’il est conçu pour traiter et empaqueter les revendications contenues dans le jeton dans un ClaimsIdentity objet .

  • Sérialisation et désérialisation des jetons de sécurité du type qu’il est conçu pour traiter.

  • Sérialisation et désérialisation des clauses d’identificateur de clé (SecurityKeyIdentifierClause) qui font référence aux jetons du type qu’elles sont conçues pour traiter vers et depuis <wsse:SecurityTokenReference> des éléments.

  • Création de jetons de sécurité à partir d’un SecurityTokenDescriptor objet transmis par les implémentations de la SecurityTokenService classe .

  • Création de clauses d’identificateur de clé à partir d’un jeton de sécurité pour les implémentations de la SecurityTokenService classe .

Windows Identity Foundation (WIF) fournit les gestionnaires de jetons de sécurité suivants prêtes à l’emploi :

La plupart de ces classes exposent des membres supplémentaires qui implémentent des fonctionnalités spécifiques au traitement des jetons pour lesquels la classe est conçue. Dans de nombreux cas, il peut être préférable de dériver de l’une de ces classes plutôt que directement de la SecurityTokenHandler classe .

Un gestionnaire de jetons de sécurité peut être ajouté ou supprimé d’une collection de gestionnaires de jetons en spécifiant les <éléments add>, <remove> ou <clear> sous l’élément <securityTokenHandlers> dans un fichier de configuration. L’objet SecurityTokenHandlerConfiguration qui contient les paramètres de configuration de la collection de gestionnaires est accessible via la Configuration propriété et la collection de gestionnaires dont le gestionnaire de jetons est membre est accessible à partir de la ContainingCollection propriété . Vous pouvez remplacer la LoadCustomConfiguration méthode pour traiter tous les éléments de configuration personnalisés que votre gestionnaire prend.

La SecurityTokenHandler classe expose plusieurs autres propriétés et méthodes. Selon les fonctionnalités que vous choisissez d’implémenter, vous pouvez remplacer tout ou partie de ces membres.

Vous devez remplacer la TokenType propriété et la GetTokenTypeIdentifiers méthode pour fournir à l’infrastructure WIF des informations sur le type de jeton de sécurité que votre classe est conçue pour traiter.

Les fonctionnalités de validation, de sérialisation et de désérialisation sont exposées via des propriétés ou des méthodes qui indiquent si le gestionnaire peut exécuter une fonction spécifique associée à la ou aux méthodes qui implémentent la fonctionnalité. La liste suivante associe les propriétés ou méthodes qui indiquent une fonctionnalité aux méthodes qui implémentent cette fonctionnalité :

Les CreateToken méthodes et CreateSecurityTokenReference sont appelées à partir du pipeline dans les implémentations de la SecurityTokenService classe .

La DetectReplayedToken méthode est appelée par l’infrastructure WIF pour déterminer si le jeton spécifié a déjà été reçu. Par défaut, cette méthode retourne false, ce qui indique que le jeton n’a pas déjà été reçu. Vous pouvez remplacer la méthode et fournir une logique pour détecter les jetons relus.

Constructeurs

SecurityTokenHandler()

Appelée à partir des constructeurs des classes dérivées pour initialiser la classe SecurityTokenHandler.

Propriétés

CanValidateToken

Obtient une valeur indiquant si le gestionnaire prend en charge la validation des jetons de sécurité.

CanWriteToken

Obtient une valeur indiquant si le gestionnaire peut sérialiser les jetons de sécurité.

Configuration

Obtient ou définit l'objet SecurityTokenHandlerConfiguration qui fournit la configuration pour l'instance actuelle.

ContainingCollection

Obtient la collection de gestionnaires de jetons qui contient l'instance actuelle.

TokenType

En cas de substitution dans une classe dérivée, obtient le type de jeton de sécurité traité par cette instance.

Méthodes

CanReadKeyIdentifierClause(XmlReader)

Retourne une valeur qui indique si l'élément XML dont il est fait référence par le lecteur XML spécifié est une clause de l'identificateur de clé qui peut être désérialisée par cette instance.

CanReadToken(String)

Retourne une valeur qui indique si la chaîne spécifiée peut être désérialisée comme un jeton du type traité par cette instance.

CanReadToken(XmlReader)

Retourne une valeur qui indique si l'élément XML référencé par le lecteur XML spécifié peut être lu comme un jeton du type traité par cette instance.

CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

Retourne une valeur qui indique si la clause d'identificateur de clé spécifiée peut être sérialisée par cette instance.

CreateSecurityTokenReference(SecurityToken, Boolean)

En cas de substitution dans une classe dérivée, crée la référence de jeton de sécurité pour les jetons traités par cette classe. Cette méthode est généralement appelée par un service d'émission de jeton de sécurité (STS).

CreateToken(SecurityTokenDescriptor)

En cas de substitution dans une classe dérivée, crée un jeton de sécurité à l'aide descripteur de jetons spécifié. Cette méthode est appelée par un service d'émission de jeton de sécurité (STS).

DetectReplayedToken(SecurityToken)

En cas de substitution dans une classe dérivée, lève une exception si le jeton spécifié est identifié comme étant relu.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetTokenTypeIdentifiers()

En cas de substitution dans une classe dérivée, retourne l'ensemble des URI utilisés dans les demandes pour identifier un jeton du type traité par cette classe dérivée.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
LoadCustomConfiguration(XmlNodeList)

Après substitution dans une classe dérivée, charge la configuration personnalisée à partir de XML.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ReadKeyIdentifierClause(XmlReader)

En cas de substitution dans une classe dérivée, désérialise le XML référencé par le lecteur XML spécifié en clause d'identificateur de clé qui référence un jeton traité par la classe dérivée.

ReadToken(String)

En cas de substitution dans une classe dérivée, désérialise la chaîne spécifiée en un jeton du type traité par cette classe dérivée.

ReadToken(XmlReader)

En cas de substitution dans une classe dérivée, désérialise le XML référencé par le lecteur XML spécifié en un jeton du type traité par cette classe dérivée.

ReadToken(XmlReader, SecurityTokenResolver)

En cas de substitution dans une classe dérivée, désérialise le XML référencé par un lecteur XML spécifié en un jeton du type traité par cette classe dérivée à l'aide du lecteur XML et du programme de résolution de jetons spécifiés.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
TraceTokenValidationFailure(SecurityToken, String)

Effectue le traçage de l'événement d'échec lors de la validation des jetons de sécurité lorsque le traçage est activé.

TraceTokenValidationSuccess(SecurityToken)

Effectue le traçage de la validation réussie de l'événement de jetons de sécurité lorsque le traçage est activé.

ValidateToken(SecurityToken)

En cas de substitution dans une classe dérivée,valide le jeton de sécurité spécifié. Le jeton doit être du type traité par la classe dérivée.

WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

En cas de substitution dans une classe dérivée, sérialise la clause d'identificateur de clé spécifiée au format XML. La clause de l'identificateur de clé doit être du type pris en charge par la classe dérivée.

WriteToken(SecurityToken)

En cas de substitution dans une classe dérivée, sérialise le jeton de sécurité spécifié en chaîne. Le jeton doit être du type traité par la classe dérivée.

WriteToken(XmlWriter, SecurityToken)

En cas de substitution dans une classe dérivée, sérialise le jeton de sécurité spécifié au format XML. Le jeton doit être du type traité par la classe dérivée.

S’applique à

Voir aussi