SecurityTokenHandler Klasse

Definition

Die abstrakte Basisklasse für Sicherheitstokenhandler.The abstract base class for security token handlers.

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
Vererbung
SecurityTokenHandler
Abgeleitet
Implementiert

Beispiele

Die Codebeispiele in allen SecurityTokenHandler Themen stammen aus dem Custom Token Beispiel.The code examples in all of the SecurityTokenHandler topics are taken from the Custom Token sample. Dieses Beispiel stellt benutzerdefinierte Klassen bereit, die die Verarbeitung von Simple Web Tokens (Swap) ermöglichen.This sample provides custom classes that enable processing of Simple Web Tokens (SWT). Informationen zu diesem Beispiel und anderen Beispielen, die für WIF verfügbar sind und wo Sie heruntergeladen werden können, finden Sie unter Beispiel Index für WIF-Code.For information about this sample and other samples available for WIF and where to download them, see WIF Code Sample Index. Der folgende XML-Code zeigt, wie der-tokenhandlerauflistung der tokenhandlerauflistung hinzugefügt wird.The following XML shows how to add the SWT token handler to the token handlers collection.

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

Hinweise

Die- SecurityTokenHandler Klasse ist die Basisklasse, von der alle Sicherheitstokenhandler abgeleitet werden.The SecurityTokenHandler class is the base class from which all security token handlers derive. Ein Sicherheitstokenhandler ist für Folgendes zuständig:A security token handler is responsible for:

  • SecurityTokenÜberprüfen von Sicherheits Token () des Typs, der zum Verarbeiten und Verpacken der im Token enthaltenen Ansprüche in einem-Objekt vorgesehen ist ClaimsIdentity .Validating security tokens (SecurityToken) of the type it is designed to process and packaging the claims contained in the token into a ClaimsIdentity object.

  • Serialisieren und Deserialisieren von Sicherheits Token des Typs, der verarbeitet werden soll.Serializing and deserializing security tokens of the type it is designed to process.

  • Serialisieren und Deserialisieren von Schlüsselbezeichnerklauseln ( SecurityKeyIdentifierClause ), die auf Token des Typs verweisen, der für die Verarbeitung an und von Elementen konzipiert ist <wsse:SecurityTokenReference> .Serializing and deserializing key identifier clauses (SecurityKeyIdentifierClause) that refer to tokens of the type it is designed to process to and from <wsse:SecurityTokenReference> elements.

  • Erstellen von Sicherheits Token aus einem- SecurityTokenDescriptor Objekt, das von Implementierungen der-Klasse übermittelt wird SecurityTokenService .Creating security tokens from a SecurityTokenDescriptor object passed by implementations of the SecurityTokenService class.

  • Erstellen von Schlüsselbezeichnerklauseln aus einem Sicherheits Token für Implementierungen der- SecurityTokenService Klasse.Creating key identifier clauses from a security token for implementations of the SecurityTokenService class.

Die folgenden Sicherheitstokenhandler werden von Windows Identity Foundation (WIF) standardmäßig ausgeliefert:Windows Identity Foundation (WIF) ships the following security token handlers out of the box:

Die meisten dieser Klassen machen zusätzliche Member verfügbar, die Funktionen implementieren, die für die Verarbeitung der Token spezifisch sind, für die die Klasse entworfen wurde.Most of these classes expose additional members that implement functionality that is specific to the processing of the tokens for which the class is designed. In vielen Fällen ist es möglicherweise besser, von einer dieser Klassen anstatt direkt von der- SecurityTokenHandler Klasse abzuleiten.In many cases it may be better to derive from one of these classes rather than directly from the SecurityTokenHandler class.

Ein Sicherheitstokenhandler kann einer tokenhandlerauflistung hinzugefügt oder daraus entfernt werden, indem die Elemente < Hinzufügen > , < Entfernen > oder < Löschen > unter dem < securitytokenhandlers > -Element in einer Konfigurationsdatei angegeben werden.A security token handler can be added or removed from a token handler collection by specifying the <add>, <remove>, or <clear> elements under the <securityTokenHandlers> element in a configuration file. SecurityTokenHandlerConfigurationAuf das-Objekt, das die Konfigurationseinstellungen für die Handlerauflistung enthält, kann über die Configuration -Eigenschaft zugegriffen werden, und die Handlerauflistung, in der der Tokenhandler Mitglied ist, kann über die-Eigenschaft aufgerufen werden ContainingCollection .The SecurityTokenHandlerConfiguration object that contains the configuration settings for the handler collection can be accessed through the Configuration property and the handler collection that the token handler is a member of can be accessed from the ContainingCollection property. Sie können die- LoadCustomConfiguration Methode überschreiben, um alle benutzerdefinierten Konfigurationselemente zu verarbeiten, die der Handler annimmt.You can override the LoadCustomConfiguration method to process any custom configuration elements that your handler takes.

Die SecurityTokenHandler -Klasse macht mehrere andere Eigenschaften und Methoden verfügbar.The SecurityTokenHandler class exposes several other properties and methods. Abhängig von der Funktion, die Sie implementieren möchten, können Sie einige oder alle dieser Member überschreiben.Depending on the functionality that you choose to implement, you may override some or all of these members.

Sie müssen die TokenType -Eigenschaft und die- GetTokenTypeIdentifiers Methode überschreiben, um der WIF-Infrastruktur Informationen über den Typ des Sicherheits Tokens bereitzustellen, für dessen Verarbeitung die Klasse vorgesehen ist.You must override the TokenType property and the GetTokenTypeIdentifiers method to provide the WIF infrastructure with information about the type of security token that your class is designed to process.

Validierungs-, Serialisierungs-und Deserialisierungsfunktionen werden durch Eigenschaften oder Methoden verfügbar gemacht, die angeben, ob der Handler eine bestimmte Funktion in Kombination mit der Methode oder den Methoden ausführen kann, die die Funktionalität implementieren.Validation, serialization, and deserialization functionality is exposed through properties or methods that indicate whether the handler can perform a specific function combined with the method or methods that implement the functionality. In der folgenden Liste sind die Eigenschaften oder Methoden, die die Funktionalität angeben, mit den Methoden verknüpft, die diese Funktionalität implementieren:The following list pairs the properties or methods that indicate functionality with the methods that implement that functionality:

Die CreateToken -Methode und die- CreateSecurityTokenReference Methode werden von der Pipeline in Implementierungen der- SecurityTokenService Klasse aufgerufen.The CreateToken and the CreateSecurityTokenReference methods are called from the pipeline in implementations of the SecurityTokenService class.

Die- DetectReplayedToken Methode wird von der WIF-Infrastruktur aufgerufen, um zu bestimmen, ob das angegebene Token bereits empfangen wurde.The DetectReplayedToken method is called by the WIF infrastructure to determine whether the specified token has already been received. Standardmäßig gibt diese Methode zurück false , was darauf hinweist, dass das Token noch nicht empfangen wurde.By default this method returns false, which indicates that the token has not already been received. Sie können die-Methode überschreiben und Logik bereitstellen, um wiedergegebene Token zu erkennen.You can override the method and provide logic to detect replayed tokens.

Konstruktoren

SecurityTokenHandler()

Wird von Konstruktoren in abgeleiteten Klassen aufgerufen, um die SecurityTokenHandler-Klasse zu initialisieren.Called from constructors in derived classes to initialize the SecurityTokenHandler class.

Eigenschaften

CanValidateToken

Ruft einen Wert ab, der angibt, ob der Handler die Validierung von Sicherheitstoken unterstützt.Gets a value that indicates whether the handler supports validation of security tokens.

CanWriteToken

Ruft einen Wert ab, der angibt, ob der Handler Sicherheitstoken serialisieren kann.Gets a value that indicates whether the handler can serialize security tokens.

Configuration

Ruft das SecurityTokenHandlerConfiguration-Objekt ab, das die Konfiguration für die aktuelle Instanz bereitstellt, oder legt dieses fest.Gets or sets the SecurityTokenHandlerConfiguration object that provides configuration for the current instance.

ContainingCollection

Ruft die Token Handler-Sammlung ab, die die aktuelle Instanz beinhaltet.Gets the token handler collection that contains the current instance.

TokenType

Ruft bei Überschreibung in einer abgeleiteten Klasse den Typ des Sicherheitstoken ab, der von dieser Instanz verarbeitetet wird.When overridden in a derived class, gets the type of the security token that is processed by this instance.

Methoden

CanReadKeyIdentifierClause(XmlReader)

Gibt einen Wert zurück, der angibt, ob das XML-Element, auf das aus dem angegebenen XML-Reader verwiesen wird, eine Schlüsselbezeichnerklausel ist, die von dieser Instanz deserialisiert werden kann.Returns a value that indicates whether the XML element referred to by the specified XML reader is a key identifier clause that can be deserialized by this instance.

CanReadToken(String)

Gibt einen Wert zurück, der angibt, ob die angegebene Zeichenfolge als Token des Typs deserialisiert werden kann, der von dieser Instanz verarbeitet wird.Returns a value that indicates whether the specified string can be deserialized as a token of the type processed by this instance.

CanReadToken(XmlReader)

Gibt einen Wert zurück, der angibt, ob das XML-Element, auf das aus dem angegebenen XML-Reader verwiesen wird, als Token des Typs gelesen werden kann, der von dieser Instanz verarbeitet wird.Returns a value that indicates whether the XML element referenced by the specified XML reader can be read as a token of the type processed by this instance.

CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

Gibt einen Wert zurück, der angibt, ob die angegebene Schlüsselbezeichnerklausel von dieser Instanz serialisiert werden kann.Returns a value that indicates whether the specified key identifier clause can be serialized by this instance.

CreateSecurityTokenReference(SecurityToken, Boolean)

Erstellt bei Überschreibung in einer abgeleiteten Klasse den Sicherheitstokenverweis für die von dieser Klasse verarbeiteten Token.When overridden in a derived class, creates the security token reference for tokens processed by that class. Diese Methode wird in der Regel von einem Sicherheitstokendienst (STS) aufgerufen.This method is typically called by a security token service (STS).

CreateToken(SecurityTokenDescriptor)

Erstellt, wenn in einer abgeleiteten Klasse überschrieben, ein Sicherheitstoken mithilfe der angegebenen Tokenbeschreibung.When overridden in a derived class, creates a security token using the specified token descriptor. Diese Methode wird von einem Sicherheitstokendienst (STS) aufgerufen.This method is called by a security token service (STS).

DetectReplayedToken(SecurityToken)

Löst beim Überschreiben in einer abgeleiteten Klasse eine Ausnahme aus, wenn das angegebene Token als wiedergegeben erkannt wird.When overridden in a derived class, throws an exception if the specified token is detected as being replayed.

Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Geerbt von Object)
GetTokenTypeIdentifiers()

Gibt bei Überschreibung in einer abgeleiteten Klasse den Satz von URIs zurück, die in Anforderungen verwendet werden, um einen Token des Typs zu identifizieren, der von dieser Klasse verarbeitet wird.When overridden in a derived class, returns the set of URIs that are used in requests to identify a token of the type processed by the derived class.

GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
LoadCustomConfiguration(XmlNodeList)

Lädt beim Überschreiben in einer abgeleiteten Klasse die benutzerdefinierte Konfiguration aus XML ab.When overridden in a derived class, loads custom configuration from XML.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ReadKeyIdentifierClause(XmlReader)

Deserialisiert bei Überschreibung in einer abgeleiteten Klasse das XML, auf das durch den angegebenen XML-Reader verwiesen wird, in eine Schlüsselbezeichnerklausel, die auf ein Token verweist, das von der abgeleiteten Klasse verarbeitet wird.When overridden in a derived class, deserializes the XML referenced by the specified XML reader to a key identifier clause that references a token processed by the derived class.

ReadToken(String)

Deserialisiert bei Überschreibung in einer abgeleiteten Klasse die angegebene Zeichenfolge in ein Token des Typs, der von der abgeleiteten Klasse verarbeitet wird.When overridden in a derived class, deserializes the specified string to a token of the type processed by the derived class.

ReadToken(XmlReader)

Deserialisiert bei Überschreibung in einer abgeleiteten Klasse das XML, auf das durch den angegebenen XML-Reader verwiesen wird, in ein Token des Typs, der von der abgeleiteten Klasse verarbeitet wird.When overridden in a derived class, deserializes the XML referenced by the specified XML reader to a token of the type processed by the derived class.

ReadToken(XmlReader, SecurityTokenResolver)

Deserialisiert bei Überschreibung in einer abgeleiteten Klasse das XML, auf das durch den angegebenen XML-Reader verwiesen wird, in ein Token des Typs, der von dieser Klasse unter Verwendung des angegebenen Tokenresolvers verarbeitet wird.When overridden in a derived class, deserializes the XML referenced by the specified XML reader to a token of the type processed by the derived class by using the specified token resolver.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)
TraceTokenValidationFailure(SecurityToken, String)

Verfolgt das Fehlerereignis während der Validierung von Sicherheitstoken, wenn die Ablaufverfolgung aktiviert ist.Traces the failure event during the validation of security tokens when tracing is enabled.

TraceTokenValidationSuccess(SecurityToken)

Verfolgt die erfolgreiche Validierung des Sicherheitstokenereignisses, wenn die Ablaufverfolgung aktiviert ist.Traces the successful validation of security tokens event when tracing is enabled.

ValidateToken(SecurityToken)

Validiert beim Überschreiben in einer abgeleiteten Klasse das angegebene Sicherheitstoken.When overridden in a derived class, validates the specified security token. Das Token muss von dem von der abgeleiteten Klasse verarbeiteten Typ sein.The token must be of the type processed by the derived class.

WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

Serialisiert beim Überschreiben in einer abgeleiteten Klasse die angegebene Schlüsselbezeichnerklausel in XML.When overridden in a derived class, serializes the specified key identifier clause to XML. Die Schlüsselbezeichnerklausel muss einen Typ besitzen, der von der abgeleiteten Klasse unterstützt wird.The key identifier clause must be of the type supported by the derived class.

WriteToken(SecurityToken)

Serialisiert bei Überschreibung in einer abgeleiteten Klasse das angegebene Sicherheitstoken in eine Zeichenfolge.When overridden in a derived class, serializes the specified security token to a string. Das Token muss von dem von der abgeleiteten Klasse verarbeiteten Typ sein.The token must be of the type processed by the derived class.

WriteToken(XmlWriter, SecurityToken)

Serialisiert beim Überschreiben in einer abgeleiteten Klasse das angegebene Sicherheitstoken in XML.When overridden in a derived class, serializes the specified security token to XML. Das Token muss von dem von der abgeleiteten Klasse verarbeiteten Typ sein.The token must be of the type processed by the derived class.

Gilt für:

Weitere Informationen