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 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í:
Vlastnost CanValidateToken a metoda ValidateToken: Ověří token a zabalí deklarace identity obsažené v tokenu do ClaimsIdentity.
Vlastnost CanWriteToken a metody WriteToken: Serializace tokenů.
CanReadToken metody a ReadToken metody: Deserializace tokenů.
Metoda CanReadKeyIdentifierClause a metoda ReadKeyIdentifierClause: Deserializace klauzulí identifikátoru klíče.
Metoda CanWriteKeyIdentifierClause a metoda WriteKeyIdentifierClause: Serializace klauzulí identifikátoru klíče.
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. |