SecurityTokenHandler Klasse

Definition

Die abstrakte Basisklasse für Sicherheitstokenhandler.

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. Dieses Beispiel stellt benutzerdefinierte Klassen bereit, die die Verarbeitung von Einfachen Webtoken (SWT) ermöglichen. Informationen zu diesem Beispiel und zu anderen für WIF verfügbaren Beispielen und zu ihren Downloadmöglichkeiten finden Sie unter WIF-Codebeispielindex. Der folgende XML-Code zeigt, wie der SWT-Tokenhandler der Tokenhandlerauflistung hinzugefügt wird.

<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. Ein Sicherheitstokenhandler ist für Folgendes verantwortlich:

  • Überprüfen von Sicherheitstoken (SecurityToken) des Typs, der für die Verarbeitung und Verpackung der im Token enthaltenen Ansprüche in einem ClaimsIdentity Objekt konzipiert ist.

  • Serialisieren und Deserialisieren von Sicherheitstoken des Typs, für den sie verarbeitet werden sollen.

  • Serialisieren und Deserialisieren von Schlüsselbezeichnerklauseln (SecurityKeyIdentifierClause), die sich auf Token des Typs beziehen, der für die Verarbeitung zu und aus <wsse:SecurityTokenReference> Elementen konzipiert ist.

  • Erstellen von Sicherheitstoken aus einem SecurityTokenDescriptor Objekt, das von Implementierungen der SecurityTokenService -Klasse übergeben wird.

  • Erstellen von Schlüsselbezeichnerklauseln aus einem Sicherheitstoken für Implementierungen der SecurityTokenService -Klasse.

Windows Identity Foundation (WIF) liefert die folgenden Sicherheitstokenhandler sofort aus:

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. In vielen Fällen kann es besser sein, von einer dieser Klassen abzuleiten, anstatt direkt von der SecurityTokenHandler Klasse.

Ein Sicherheitstokenhandler kann einer Tokenhandlerauflistung hinzugefügt oder entfernt werden, indem das Hinzufügen>, Entfernen oder Löschen von< Elementen unter dem <securityTokenHandlers-Element> in einer Konfigurationsdatei angegeben wird.<><> Auf SecurityTokenHandlerConfiguration das Objekt, das die Konfigurationseinstellungen für die Handlerauflistung enthält, kann über die Configuration -Eigenschaft zugegriffen werden, und auf die Handlerauflistung, in der der Tokenhandler mitglied ist, kann von der ContainingCollection -Eigenschaft aus zugegriffen werden. Sie können die LoadCustomConfiguration -Methode überschreiben, um alle benutzerdefinierten Konfigurationselemente zu verarbeiten, die Ihr Handler übernimmt.

Die SecurityTokenHandler -Klasse macht mehrere andere Eigenschaften und Methoden verfügbar. Abhängig von der Funktionalität, die Sie implementieren möchten, können Sie einige oder alle dieser Member überschreiben.

Sie müssen die Eigenschaft und die TokenTypeGetTokenTypeIdentifiers Methode überschreiben, um die WIF-Infrastruktur mit Informationen über den Typ des Sicherheitstokens bereitzustellen, für den Ihre Klasse verarbeitet werden soll.

Validierungs-, Serialisierungs- und Deserialisierungsfunktionen werden über 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. In der folgenden Liste werden die Eigenschaften oder Methoden, die die Funktionalität angeben, mit den Methoden gekoppelt, die diese Funktionalität implementieren:

Die CreateToken Methoden und CreateSecurityTokenReference werden in Implementierungen der -Klasse aus der SecurityTokenService Pipeline aufgerufen.

Die DetectReplayedToken Methode wird von der WIF-Infrastruktur aufgerufen, um zu bestimmen, ob das angegebene Token bereits empfangen wurde. Standardmäßig gibt diese Methode zurück false, was angibt, dass das Token noch nicht empfangen wurde. Sie können die Methode überschreiben und Logik bereitstellen, um wiedergegebene Token zu erkennen.

Konstruktoren

SecurityTokenHandler()

Wird von Konstruktoren in abgeleiteten Klassen aufgerufen, um die SecurityTokenHandler-Klasse zu initialisieren.

Eigenschaften

CanValidateToken

Ruft einen Wert ab, der angibt, ob der Handler die Validierung von Sicherheitstoken unterstützt.

CanWriteToken

Ruft einen Wert ab, der angibt, ob der Handler Sicherheitstoken serialisieren kann.

Configuration

Ruft das SecurityTokenHandlerConfiguration-Objekt ab, das die Konfiguration für die aktuelle Instanz bereitstellt, oder legt dieses fest.

ContainingCollection

Ruft die Token Handler-Sammlung ab, die die aktuelle Instanz beinhaltet.

TokenType

Ruft bei Überschreibung in einer abgeleiteten Klasse den Typ des Sicherheitstoken ab, der von dieser Instanz verarbeitetet wird.

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.

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.

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.

CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

Gibt einen Wert zurück, der angibt, ob die angegebene Schlüsselbezeichnerklausel von dieser Instanz serialisiert werden kann.

CreateSecurityTokenReference(SecurityToken, Boolean)

Erstellt bei Überschreibung in einer abgeleiteten Klasse den Sicherheitstokenverweis für die von dieser Klasse verarbeiteten Token. Diese Methode wird in der Regel von einem Sicherheitstokendienst (STS) aufgerufen.

CreateToken(SecurityTokenDescriptor)

Erstellt, wenn in einer abgeleiteten Klasse überschrieben, ein Sicherheitstoken mithilfe der angegebenen Tokenbeschreibung. Diese Methode wird von einem Sicherheitstokendienst (STS) aufgerufen.

DetectReplayedToken(SecurityToken)

Löst beim Überschreiben in einer abgeleiteten Klasse eine Ausnahme aus, wenn das angegebene Token als wiedergegeben erkannt wird.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

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

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
LoadCustomConfiguration(XmlNodeList)

Lädt beim Überschreiben in einer abgeleiteten Klasse die benutzerdefinierte Konfiguration aus XML ab.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen 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.

ReadToken(String)

Deserialisiert bei Überschreibung in einer abgeleiteten Klasse die angegebene Zeichenfolge in ein Token des Typs, der von der abgeleiteten Klasse verarbeitet wird.

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.

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.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
TraceTokenValidationFailure(SecurityToken, String)

Verfolgt das Fehlerereignis während der Validierung von Sicherheitstoken, wenn die Ablaufverfolgung aktiviert ist.

TraceTokenValidationSuccess(SecurityToken)

Verfolgt die erfolgreiche Validierung des Sicherheitstokenereignisses, wenn die Ablaufverfolgung aktiviert ist.

ValidateToken(SecurityToken)

Validiert beim Überschreiben in einer abgeleiteten Klasse das angegebene Sicherheitstoken. Das Token muss von dem von der abgeleiteten Klasse verarbeiteten Typ sein.

WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

Serialisiert beim Überschreiben in einer abgeleiteten Klasse die angegebene Schlüsselbezeichnerklausel in XML. Die Schlüsselbezeichnerklausel muss einen Typ besitzen, der von der abgeleiteten Klasse unterstützt wird.

WriteToken(SecurityToken)

Serialisiert bei Überschreibung in einer abgeleiteten Klasse das angegebene Sicherheitstoken in eine Zeichenfolge. Das Token muss von dem von der abgeleiteten Klasse verarbeiteten Typ sein.

WriteToken(XmlWriter, SecurityToken)

Serialisiert beim Überschreiben in einer abgeleiteten Klasse das angegebene Sicherheitstoken in XML. Das Token muss von dem von der abgeleiteten Klasse verarbeiteten Typ sein.

Gilt für:

Weitere Informationen