MachineKeySessionSecurityTokenHandler 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í.
Zpracovává tokeny relace pomocí podpisových a šifrovacích klíčů zadaných v elementu ASP.NET <machineKey> v konfiguračním souboru.
public ref class MachineKeySessionSecurityTokenHandler : System::IdentityModel::Tokens::SessionSecurityTokenHandler
public class MachineKeySessionSecurityTokenHandler : System.IdentityModel.Tokens.SessionSecurityTokenHandler
type MachineKeySessionSecurityTokenHandler = class
inherit SessionSecurityTokenHandler
Public Class MachineKeySessionSecurityTokenHandler
Inherits SessionSecurityTokenHandler
- Dědičnost
Příklady
Následující kód XML ukazuje, jak pomocí elementu ASP.NET <machineKey> v konfiguraci explicitně zadat podpisové a šifrovací klíče. Prvek <machineKey> je určen pod <system.web> element v konfiguračním souboru.
<machineKey compatibilityMode="Framework45" decryptionKey="CC510D … 8925E6" validationKey="BEAC8 … 6A4B1DE" />
Následující KÓD XML ukazuje, jak přidat MachineKeySessionSecurityTokenHandler do kolekce obslužné rutiny tokenu. Výchozí hodnota SessionSecurityTokenHandler je nejprve odebrána z kolekce. Obslužné rutiny tokenů jsou nakonfigurovány v elementu< securityTokenHandlers>.
<securityTokenHandlers>
<remove type="System.IdentityModel.Tokens.SessionSecurityTokenHandler, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add type="System.IdentityModel.Services.Tokens.MachineKeySessionSecurityTokenHandler, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</securityTokenHandlers>
Poznámky
Ve výchozím nastavení třída SessionSecurityTokenHandler používá ProtectedDataCookieTransform třídu, která k ochraně tokenu relace používá rozhraní DATA Protection API (DPAPI). Rozhraní DPAPI poskytuje ochranu pomocí přihlašovacích údajů uživatele nebo počítače a ukládá klíčová data v profilu uživatele. To znamená, že token relace podepsaný a šifrovaný na jednom počítači nelze ověřit ani dešifrovat v jiném počítači.
Naproti tomu MachineKeySessionSecurityTokenHandler třída používá MachineKeyTransform třídu, která chrání data souboru cookie relace pomocí kryptografického materiálu určeného <machineKey> v elementu v konfiguračním souboru. To znamená, že stejné klíče (a tokeny relací) je možné použít v několika počítačích. To je zvlášť důležité, když je aplikace nasazená ve webové farmě. Další informace o tom, jak pomocí služby Windows Identity Foundation chránit aplikace nasazené ve webové farmě, najdete v tématu WIF a webové farmy.
Nakonfigurujte aplikaci tak, aby ji používala MachineKeySessionSecurityTokenHandler přidáním do kolekce obslužných rutin tokenů. Pokud je taková obslužná rutina přítomna, musíte nejprve odebrat SessionSecurityTokenHandler (nebo jakoukoli obslužnou rutinu odvozenou z SessionSecurityTokenHandler třídy) z kolekce obslužné rutiny tokenu. Důvodem je to, že MachineKeySessionSecurityTokenHandler odvozuje kolekci SessionSecurityTokenHandler obslužných rutin tokenů a nemůže obsahovat více obslužných rutin daného typu.
Konstruktory
| Name | Description |
|---|---|
| MachineKeySessionSecurityTokenHandler() |
Inicializuje novou instanci MachineKeySessionSecurityTokenHandler třídy. |
| MachineKeySessionSecurityTokenHandler(TimeSpan) |
Inicializuje novou instanci MachineKeySessionSecurityTokenHandler třídy, která má zadanou výchozí životnost tokenu. |
Vlastnosti
| Name | Description |
|---|---|
| CanValidateToken |
Získá hodnotu, která označuje, zda tato obslužná rutina podporuje ověřování tokenů typu SessionSecurityToken. (Zděděno od SessionSecurityTokenHandler) |
| CanWriteToken |
Získá hodnotu, která označuje, zda tato obslužná rutina může zapisovat tokeny typu SessionSecurityToken. (Zděděno od SessionSecurityTokenHandler) |
| Configuration |
Získá nebo nastaví SecurityTokenHandlerConfiguration objekt, který poskytuje konfiguraci pro aktuální instanci. (Zděděno od SecurityTokenHandler) |
| ContainingCollection |
Získá kolekci obslužné rutiny tokenu, která obsahuje aktuální instanci. (Zděděno od SecurityTokenHandler) |
| CookieElementName |
Získá název elementu cookie. (Zděděno od SessionSecurityTokenHandler) |
| CookieNamespace |
Získá obor názvů pro element cookie. (Zděděno od SessionSecurityTokenHandler) |
| TokenLifetime |
Získá nebo nastaví životnost tokenu. (Zděděno od SessionSecurityTokenHandler) |
| TokenType |
Získá typ tokenů, které tato obslužná rutina zpracovává. (Zděděno od SessionSecurityTokenHandler) |
| Transforms |
Získá transformace, které se použijí na soubor cookie. (Zděděno od SessionSecurityTokenHandler) |
Metody
| Name | Description |
|---|---|
| ApplyTransforms(Byte[], Boolean) |
Použije transformace určené Transforms vlastností pro kódování nebo dekódování zadaného souboru cookie. (Zděděno od SessionSecurityTokenHandler) |
| 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í. (Zděděno od SecurityTokenHandler) |
| CanReadToken(String) |
Vrátí hodnotu, která určuje, zda zadaný řetězec lze deserializovat jako token typu zpracovávaného touto instancí. (Zděděno od SecurityTokenHandler) |
| CanReadToken(XmlReader) |
Vrátí hodnotu, která určuje, zda je čtenář umístěn v |
| CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause) |
Vrátí hodnotu, která určuje, zda zadaná klauzule identifikátoru klíče může být serializována touto instancí. (Zděděno od SecurityTokenHandler) |
| 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). (Zděděno od SecurityTokenHandler) |
| CreateSessionSecurityToken(ClaimsPrincipal, String, String, DateTime, DateTime) |
SessionSecurityToken Vytvoří na základě zadaného objektu zabezpečení deklarací identity a časového rozsahu, během kterého je token platný. (Zděděno od SessionSecurityTokenHandler) |
| CreateToken(SecurityTokenDescriptor) |
Vytvoří token zabezpečení na základě zadaného popisovače tokenu. (Zděděno od SessionSecurityTokenHandler) |
| 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í. (Zděděno od SecurityTokenHandler) |
| 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() |
Získá identifikátory URI typu tokenu pro typy tokenů, které lze zpracovat touto obslužnou rutinou. (Zděděno od SessionSecurityTokenHandler) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| LoadCustomConfiguration(XmlNodeList) |
Načte vlastní konfiguraci z XML. (Zděděno od SessionSecurityTokenHandler) |
| 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. (Zděděno od SecurityTokenHandler) |
| ReadToken(Byte[], SecurityTokenResolver) |
SessionSecurityToken Načte ze streamu bajtů pomocí zadaného překladače tokenů. (Zděděno od SessionSecurityTokenHandler) |
| ReadToken(String) |
Při přepsání v odvozené třídě deserializuje zadaný řetězec na token typu zpracovaného odvozenou třídou. (Zděděno od SecurityTokenHandler) |
| ReadToken(XmlReader, SecurityTokenResolver) |
Přečte pomocí SessionSecurityToken zadané čtečky XML a překladače tokenů. (Zděděno od SessionSecurityTokenHandler) |
| ReadToken(XmlReader) |
Přečte pomocí SessionSecurityToken zadané čtečky XML. (Zděděno od SessionSecurityTokenHandler) |
| SetTransforms(IEnumerable<CookieTransform>) |
Nastaví transformace, které se použijí na soubory cookie. (Zděděno od SessionSecurityTokenHandler) |
| 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í. (Zděděno od SecurityTokenHandler) |
| TraceTokenValidationSuccess(SecurityToken) |
Trasuje úspěšné ověření události tokenů zabezpečení při povolení trasování. (Zděděno od SecurityTokenHandler) |
| ValidateSession(SessionSecurityToken) |
Určuje, zda relace přidružená k zadanému tokenu je stále platná. Platnost je určena kontrolou ValidFrom a ValidTo vlastnostmi zadaného tokenu. Pokud relace již není platná, vyvolá se výjimka. (Zděděno od SessionSecurityTokenHandler) |
| ValidateToken(SecurityToken) |
Ověří zadaný token a vrátí jeho deklarace identity. (Zděděno od SessionSecurityTokenHandler) |
| ValidateToken(SessionSecurityToken, String) |
Ověří zadaný token relace a vrátí jeho deklarace identity. (Zděděno od SessionSecurityTokenHandler) |
| 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. (Zděděno od SecurityTokenHandler) |
| 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. (Zděděno od SecurityTokenHandler) |
| WriteToken(SessionSecurityToken) |
Serializuje zadaný token do bajtového pole. (Zděděno od SessionSecurityTokenHandler) |
| WriteToken(XmlWriter, SecurityToken) |
Serializuje zadaný token pomocí zadaného zapisovače XML. (Zděděno od SessionSecurityTokenHandler) |