SecurityTokenHandler Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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í:
Vlastnost CanValidateToken a ValidateToken metoda: Ověří token a zabalí deklarace identity obsažené v tokenu ClaimsIdentitydo .
Vlastnost CanWriteToken a WriteToken metody: Serializace tokenů.
Metody CanReadToken a ReadToken metody: Deserializace tokenů.
Metoda CanReadKeyIdentifierClause a ReadKeyIdentifierClause metoda: Deserializace klauzulí identifikátoru klíče.
Metoda CanWriteKeyIdentifierClause a WriteKeyIdentifierClause metoda: Serializace klauzulí identifikátoru klíče.
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. |