MachineKeySessionSecurityTokenHandler Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Elabora i token di sessione usando la firma e le chiavi di crittografia specificate nell'elemento ASP.NET <machineKey> in un file di configurazione.
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
- Ereditarietà
Esempio
Nel codice XML seguente viene illustrato come utilizzare l'elemento ASP.NET <machineKey> nella configurazione per specificare in modo esplicito le chiavi di firma e crittografia. L'elemento <machineKey> viene specificato sotto l'elemento <system.web> in un file di configurazione.
<machineKey compatibilityMode="Framework45" decryptionKey="CC510D … 8925E6" validationKey="BEAC8 … 6A4B1DE" />
Nel codice XML seguente viene illustrato come aggiungere l'oggetto MachineKeySessionSecurityTokenHandler a una raccolta di gestori di token. Il valore predefinito SessionSecurityTokenHandler viene prima rimosso dalla raccolta. I gestori di token vengono configurati nell'elemento <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>
Commenti
Per impostazione predefinita, la SessionSecurityTokenHandler classe usa la ProtectedDataCookieTransform classe , che usa l'API Protezione dati (DPAPI) per proteggere il token di sessione. DpAPI fornisce protezione usando le credenziali dell'utente o del computer e archivia i dati chiave nel profilo utente. Ciò significa che un token di sessione firmato e crittografato in un computer non può essere convalidato o decrittografato in un computer diverso.
Al contrario, la MachineKeySessionSecurityTokenHandler classe usa la MachineKeyTransform classe , che protegge i dati dei cookie di sessione usando il materiale crittografico specificato nell'elemento <machineKey> nel file di configurazione. Ciò significa che le stesse chiavi (e i token di sessione) possono essere usate in più computer. Ciò è particolarmente importante quando un'applicazione viene distribuita in una web farm. Per altre informazioni su come usare Windows Identity Foundation per proteggere le applicazioni distribuite in una Web farm, vedere WIF e Web Farm.
Configurare l'applicazione per l'uso MachineKeySessionSecurityTokenHandler di aggiungendola alla raccolta del gestore di token. È prima necessario rimuovere ( SessionSecurityTokenHandler o qualsiasi gestore derivato dalla classe ) dalla SessionSecurityTokenHandler raccolta del gestore di token se tale gestore è presente. Ciò è dovuto al fatto che MachineKeySessionSecurityTokenHandler deriva da SessionSecurityTokenHandler e una raccolta di gestori di token non può contenere più gestori di qualsiasi tipo specificato.
Costruttori
| Nome | Descrizione |
|---|---|
| MachineKeySessionSecurityTokenHandler() |
Inizializza una nuova istanza della classe MachineKeySessionSecurityTokenHandler. |
| MachineKeySessionSecurityTokenHandler(TimeSpan) |
Inizializza una nuova istanza della MachineKeySessionSecurityTokenHandler classe con la durata del token predefinita specificata. |
Proprietà
| Nome | Descrizione |
|---|---|
| CanValidateToken |
Ottiene un valore che indica se questo gestore supporta la convalida dei token di tipo SessionSecurityToken. (Ereditato da SessionSecurityTokenHandler) |
| CanWriteToken |
Ottiene un valore che indica se questo gestore può scrivere token di tipo SessionSecurityToken. (Ereditato da SessionSecurityTokenHandler) |
| Configuration |
Ottiene o imposta l'oggetto che fornisce la SecurityTokenHandlerConfiguration configurazione per l'istanza corrente. (Ereditato da SecurityTokenHandler) |
| ContainingCollection |
Ottiene la raccolta del gestore di token che contiene l'istanza corrente. (Ereditato da SecurityTokenHandler) |
| CookieElementName |
Ottiene il nome dell'elemento cookie. (Ereditato da SessionSecurityTokenHandler) |
| CookieNamespace |
Ottiene lo spazio dei nomi per l'elemento cookie. (Ereditato da SessionSecurityTokenHandler) |
| TokenLifetime |
Ottiene o imposta la durata del token. (Ereditato da SessionSecurityTokenHandler) |
| TokenType |
Ottiene il tipo dei token elaborati da questo gestore. (Ereditato da SessionSecurityTokenHandler) |
| Transforms |
Ottiene le trasformazioni che verranno applicate al cookie. (Ereditato da SessionSecurityTokenHandler) |
Metodi
| Nome | Descrizione |
|---|---|
| ApplyTransforms(Byte[], Boolean) |
Applica le trasformazioni specificate dalla Transforms proprietà per codificare o decodificare il cookie specificato. (Ereditato da SessionSecurityTokenHandler) |
| CanReadKeyIdentifierClause(XmlReader) |
Restituisce un valore che indica se l'elemento XML a cui fa riferimento il lettore XML specificato è una clausola dell'identificatore di chiave che può essere deserializzata da questa istanza. (Ereditato da SecurityTokenHandler) |
| CanReadToken(String) |
Restituisce un valore che indica se la stringa specificata può essere deserializzata come token del tipo elaborato da questa istanza. (Ereditato da SecurityTokenHandler) |
| CanReadToken(XmlReader) |
Restituisce un valore che indica se il lettore è posizionato in corrispondenza di un |
| CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause) |
Restituisce un valore che indica se la clausola dell'identificatore di chiave specificata può essere serializzata da questa istanza. (Ereditato da SecurityTokenHandler) |
| CreateSecurityTokenReference(SecurityToken, Boolean) |
Quando sottoposto a override in una classe derivata, crea il riferimento al token di sicurezza per i token elaborati da tale classe. Questo metodo viene in genere chiamato da un servizio token di sicurezza ( STS). (Ereditato da SecurityTokenHandler) |
| CreateSessionSecurityToken(ClaimsPrincipal, String, String, DateTime, DateTime) |
Crea un SessionSecurityToken oggetto basato sull'entità di attestazione e sull'intervallo di tempo specificato durante il quale il token è valido. (Ereditato da SessionSecurityTokenHandler) |
| CreateToken(SecurityTokenDescriptor) |
Crea un token di sicurezza basato sul descrittore di token specificato. (Ereditato da SessionSecurityTokenHandler) |
| DetectReplayedToken(SecurityToken) |
Quando sottoposto a override in una classe derivata, genera un'eccezione se il token specificato viene rilevato come riprodotto. (Ereditato da SecurityTokenHandler) |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetTokenTypeIdentifiers() |
Ottiene gli URI del tipo di token per i tipi di token che possono essere elaborati da questo gestore. (Ereditato da SessionSecurityTokenHandler) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| LoadCustomConfiguration(XmlNodeList) |
Carica la configurazione personalizzata da XML. (Ereditato da SessionSecurityTokenHandler) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ReadKeyIdentifierClause(XmlReader) |
In caso di override in una classe derivata, deserializza il codice XML a cui fa riferimento il lettore XML specificato a una clausola dell'identificatore di chiave che fa riferimento a un token elaborato dalla classe derivata. (Ereditato da SecurityTokenHandler) |
| ReadToken(Byte[], SecurityTokenResolver) |
Legge l'oggetto SessionSecurityToken da un flusso di byte usando il resolver di token specificato. (Ereditato da SessionSecurityTokenHandler) |
| ReadToken(String) |
In caso di override in una classe derivata, deserializza la stringa specificata in un token del tipo elaborato dalla classe derivata. (Ereditato da SecurityTokenHandler) |
| ReadToken(XmlReader, SecurityTokenResolver) |
Legge l'oggetto SessionSecurityToken utilizzando il lettore XML e il resolver di token specificati. (Ereditato da SessionSecurityTokenHandler) |
| ReadToken(XmlReader) |
Legge l'oggetto SessionSecurityToken utilizzando il lettore XML specificato. (Ereditato da SessionSecurityTokenHandler) |
| SetTransforms(IEnumerable<CookieTransform>) |
Imposta le trasformazioni che verranno applicate ai cookie. (Ereditato da SessionSecurityTokenHandler) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
| TraceTokenValidationFailure(SecurityToken, String) |
Analizza l'evento di errore durante la convalida dei token di sicurezza quando la traccia è abilitata. (Ereditato da SecurityTokenHandler) |
| TraceTokenValidationSuccess(SecurityToken) |
Consente di tracciare la convalida corretta degli eventi dei token di sicurezza quando la traccia è abilitata. (Ereditato da SecurityTokenHandler) |
| ValidateSession(SessionSecurityToken) |
Determina se la sessione associata al token specificato è ancora valida. La validità è determinata controllando le ValidFrom proprietà e ValidTo del token specificato. Se la sessione non è più valida, viene generata un'eccezione. (Ereditato da SessionSecurityTokenHandler) |
| ValidateToken(SecurityToken) |
Convalida il token specificato e restituisce le relative attestazioni. (Ereditato da SessionSecurityTokenHandler) |
| ValidateToken(SessionSecurityToken, String) |
Convalida il token di sessione specificato e restituisce le relative attestazioni. (Ereditato da SessionSecurityTokenHandler) |
| WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause) |
In caso di override in una classe derivata, serializza la clausola dell'identificatore di chiave specificata in XML. La clausola dell'identificatore di chiave deve essere del tipo supportato dalla classe derivata. (Ereditato da SecurityTokenHandler) |
| WriteToken(SecurityToken) |
Quando sottoposto a override in una classe derivata, serializza il token di sicurezza specificato in una stringa. Il token deve essere del tipo elaborato dalla classe derivata. (Ereditato da SecurityTokenHandler) |
| WriteToken(SessionSecurityToken) |
Serializza il token specificato in una matrice di byte. (Ereditato da SessionSecurityTokenHandler) |
| WriteToken(XmlWriter, SecurityToken) |
Serializza il token specificato utilizzando il writer XML specificato. (Ereditato da SessionSecurityTokenHandler) |