Sdílet prostřednictvím


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 SecurityTokenHandler tématech jsou převzaty z ukázky Custom Token. Tato ukázka poskytuje 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, které jsou k dispozici pro WIF a kde je stáhnout, najdete v tématu vzorový index 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 tokenu zabezpečení. Obslužná rutina tokenu zabezpečení zodpovídá za:

  • Ověřování tokenů zabezpečení (SecurityToken) typu, který je navrž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 navržen pro zpracování.

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

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

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

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 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 tokenu zadáním <přidat>, <odebrat>nebo <vymazat prvky> v <securityTokenHandlers> element v konfiguračním souboru. K objektu SecurityTokenHandlerConfiguration, který obsahuje nastavení konfigurace pro kolekci obslužné rutiny, lze přistupovat prostřednictvím vlastnosti Configuration a kolekce obslužné rutiny, ke které je obslužná rutina tokenu členem, lze získat přístup z vlastnosti ContainingCollection. Metodu LoadCustomConfiguration můžete přepsat tak, aby zpracovávala všechny vlastní elementy konfigurace, které obslužná rutina přebírá.

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 některé nebo všechny tyto členy přepsat.

Je nutné přepsat TokenType vlastnost a GetTokenTypeIdentifiers metoda poskytnout WIF infrastruktury informace o typu tokenu zabezpečení, který je vaše třída navržena ke zpracování.

Funkce ověřování, serializace a deserializace je vystavena vlastnostmi nebo metodami, které označují, zda obslužná rutina může provádět konkrétní funkci v kombinaci s metodou nebo metodami, které implementují funkci. Následující seznam spáruje vlastnosti nebo metody, které označují funkčnost s metodami, které tuto funkci implementují:

CreateToken a metody CreateSecurityTokenReference jsou volány z kanálu v implementacích třídy SecurityTokenService.

Metoda DetectReplayedToken je volána infrastrukturou WIF k určení, zda zadaný token již byl 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řehrání 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á urč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 obslužné rutiny tokenu, 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á určuje, zda xml element odkazovaný zadaným čtečkou XML je klauzule identifikátor klíče, která může být deserializována touto instancí.

CanReadToken(String)

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

CanReadToken(XmlReader)

Vrátí hodnotu, která určuje, zda element XML odkazovaný zadaným čtenářem XML lze číst jako token typu zpracovávaného touto instancí.

CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

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

CreateSecurityTokenReference(SecurityToken, Boolean)

Při přepsání v odvozené třídě vytvoří odkaz tokenu zabezpečení pro tokeny zpracovávané danou třídou. Tato metoda se obvykle volá službou 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 se volá službou tokenů zabezpečení (STS).

DetectReplayedToken(SecurityToken)

Při přepsání v odvozené třídě vyvolá výjimku, pokud je zadaný token zjištěn jako přehrání.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

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

Slouží jako výchozí funkce hash.

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

Získá Type 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 Object.

(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, SecurityTokenResolver)

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

ReadToken(XmlReader)

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

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í při povolení trasování.

TraceTokenValidationSuccess(SecurityToken)

Trasuje úspěšné ověření události tokenů zabezpečení při povolení 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 zadanou klauzuli identifikátoru klíče do 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í do XML. Token musí být typu zpracovávaného odvozenou třídou.

Platí pro

Viz také