SecurityTokenHandler Třída

Definice

Abstraktní základní třída pro obslužné rutiny tokenů zabezpečení.

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
Dědičnost
SecurityTokenHandler
Odvozené
Implementuje

Příklady

Příklady kódu ve všech tématech SecurityTokenHandler jsou převzaty z ukázky Custom Token . Tato ukázka obsahuje vlastní třídy, které umožňují zpracování jednoduchých webových tokenů (SWT). Informace o této ukázce a dalších ukázkách dostupných pro WIF a o tom, kde je stáhnout, najdete v tématu Index vzorového kódu WIF. Následující kód XML ukazuje, jak přidat obslužnou rutinu tokenu SWT do kolekce obslužných rutin tokenů.

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

Poznámky

Třída SecurityTokenHandler je základní třída, ze které jsou odvozeny všechny obslužné rutiny tokenů zabezpečení. Obslužná rutina tokenů zabezpečení zodpovídá za:

  • Ověřování tokenů zabezpečení (SecurityToken) typu, který je určen ke zpracování a zabalení deklarací identity obsažených v tokenu do objektu ClaimsIdentity .

  • Serializace a deserializace tokenů zabezpečení typu, který je určen ke zpracování.

  • Serializace a deserializace identifikátoru klíče klauzule (SecurityKeyIdentifierClause), které odkazují na tokeny typu, který je určen ke zpracování do a z <wsse:SecurityTokenReference> prvků.

  • Vytváření tokenů zabezpečení z objektu SecurityTokenDescriptor předaného implementacemi SecurityTokenService třídy .

  • Vytváření klauzulí identifikátoru klíče z tokenu zabezpečení pro implementace SecurityTokenService třídy

Technologie Windows Identity Foundation (WIF) dodává následující obslužné rutiny tokenů zabezpečení:

Většina z těchto tříd zveřejňuje další členy, které implementují funkce, které jsou specifické pro zpracování tokenů, pro které je třída navržena. V mnoha případech může být lepší odvodit z jedné z těchto tříd spíše než přímo z SecurityTokenHandler třídy .

Obslužnou rutinu tokenu zabezpečení lze přidat nebo odebrat z kolekce obslužné rutiny tokenů zadáním elementů <add>, <remove> nebo <clear> v elementu <securityTokenHandlers> v konfiguračním souboru. Objekt SecurityTokenHandlerConfiguration , který obsahuje nastavení konfigurace pro kolekci obslužné rutiny, je přístupný prostřednictvím Configuration vlastnosti a ke kolekci obslužné rutiny, jejíž je obslužná rutina tokenu členem, lze přistupovat z ContainingCollection vlastnosti . Metodu LoadCustomConfiguration můžete přepsat tak, aby zpracovávala všechny vlastní prvky konfigurace, které vaše obslužná rutina přijímá.

Třída SecurityTokenHandler zveřejňuje několik dalších vlastností a metod. V závislosti na funkcích, které se rozhodnete implementovat, můžete přepsat některé nebo všechny tyto členy.

Vlastnost a metodu TokenTypeGetTokenTypeIdentifiers je nutné přepsat, aby infrastruktura technologie WIF poskytovala informace o typu tokenu zabezpečení, který je určen pro zpracování vaší třídy.

Funkce ověření, serializace a deserializace je zpřístupněna prostřednictvím vlastností nebo metod, které označují, zda obslužná rutina může provést konkrétní funkci v kombinaci s metodou nebo metodami, které implementují funkce. Následující seznam spáruje vlastnosti nebo metody označující funkčnost s metodami, které tuto funkci implementují:

Metody CreateToken a CreateSecurityTokenReference se volají z kanálu v implementacích SecurityTokenService třídy .

Metoda DetectReplayedToken je volána infrastrukturou technologie WIF k určení, zda byl zadaný token již přijat. Ve výchozím nastavení tato metoda vrátí false, což označuje, že token ještě nebyl přijat. Můžete přepsat metodu a poskytnout logiku pro detekci přehraných tokenů.

Konstruktory

SecurityTokenHandler()

Volána z konstruktorů v odvozených třídách k inicializaci SecurityTokenHandler třídy.

Vlastnosti

CanValidateToken

Získá hodnotu, která označuje, zda obslužná rutina podporuje ověřování tokenů zabezpečení.

CanWriteToken

Získá hodnotu, která označuje, zda obslužná rutina může serializovat tokeny zabezpečení.

Configuration

Získá nebo nastaví SecurityTokenHandlerConfiguration objekt, který poskytuje konfiguraci pro aktuální instanci.

ContainingCollection

Získá kolekci token obslužné rutiny, která obsahuje aktuální instanci.

TokenType

Při přepsání v odvozené třídě získá typ tokenu zabezpečení, který je zpracován touto instancí.

Metody

CanReadKeyIdentifierClause(XmlReader)

Vrátí hodnotu, která označuje, zda xml element odkazované na zadaný čtenář XML je klíč identifikátor klauzule, která může být deserializována touto instancí.

CanReadToken(String)

Vrátí hodnotu, která označuje, zda zadaný řetězec lze deserializovat jako token typu zpracovaného touto instancí.

CanReadToken(XmlReader)

Vrátí hodnotu, která označuje, zda element XML odkazovaný zadanou čtečkou XML lze číst jako token typu zpracovaného touto instancí.

CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

Vrátí hodnotu, která označuje, zda zadaná klauzule identifikátor klíče může být serializována touto instancí.

CreateSecurityTokenReference(SecurityToken, Boolean)

Při přepsání v odvozené třídě vytvoří odkaz na tokeny zabezpečení pro tokeny zpracovávané danou třídou. Tuto metodu obvykle volá služba tokenů zabezpečení (STS).

CreateToken(SecurityTokenDescriptor)

Při přepsání v odvozené třídě vytvoří token zabezpečení pomocí zadaného popisovače tokenu. Tato metoda je volána službou tokenů zabezpečení (STS).

DetectReplayedToken(SecurityToken)

Při přepsání v odvozené třídě vyvolá výjimku, pokud se zjistí, že se zadaný token přehrává.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetTokenTypeIdentifiers()

Při přepsání v odvozené třídě vrátí sadu identifikátorů URI, které se používají v požadavcích k identifikaci tokenu typu zpracovávaného odvozenou třídou.

GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
LoadCustomConfiguration(XmlNodeList)

Při přepsání v odvozené třídě načte vlastní konfiguraci z XML.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ReadKeyIdentifierClause(XmlReader)

Při přepsání v odvozené třídě deserializuje XML odkazovaný zadaným čtenářem XML na klauzuli identifikátoru klíče, která odkazuje na token zpracovaný odvozenou třídou.

ReadToken(String)

Při přepsání v odvozené třídě deserializuje zadaný řetězec na token typu zpracovaného odvozenou třídou.

ReadToken(XmlReader)

Při přepsání v odvozené třídě deserializuje XML odkazované zadaným čtečkou XML na token typu zpracovaného odvozenou třídou.

ReadToken(XmlReader, SecurityTokenResolver)

Při přepsání v odvozené třídě deserializuje XML odkazovaný zadaným čtenářem XML na token typu zpracovaného odvozenou třídou pomocí zadaného překladače tokenů.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
TraceTokenValidationFailure(SecurityToken, String)

Trasuje událost selhání během ověřování tokenů zabezpečení, pokud je povolené trasování.

TraceTokenValidationSuccess(SecurityToken)

Trasuje úspěšné ověření události tokenů zabezpečení při povoleném trasování.

ValidateToken(SecurityToken)

Při přepsání v odvozené třídě ověří zadaný token zabezpečení. Token musí být typu zpracovávaného odvozenou třídou.

WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

Při přepsání v odvozené třídě serializuje klauzuli identifikátoru zadaného klíče xml. Klauzule identifikátoru klíče musí být typu podporovaného odvozenou třídou.

WriteToken(SecurityToken)

Při přepsání v odvozené třídě serializuje zadaný token zabezpečení na řetězec. Token musí být typu zpracovávaného odvozenou třídou.

WriteToken(XmlWriter, SecurityToken)

Při přepsání v odvozené třídě serializuje zadaný token zabezpečení xml. Token musí být typu zpracovávaného odvozenou třídou.

Platí pro

Viz také