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 della sessione mediante la firma e 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
Il codice XML seguente illustra come usare 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" />
Il codice XML seguente mostra come aggiungere 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 la protezione usando le credenziali dell'utente o del computer e archivia i dati della 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 altro computer.
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 usare MachineKeySessionSecurityTokenHandler aggiungendo l'oggetto alla raccolta di gestori di token. È prima necessario rimuovere SessionSecurityTokenHandler (o qualsiasi gestore derivato dalla classe SessionSecurityTokenHandler) dalla raccolta di gestori 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
MachineKeySessionSecurityTokenHandler() |
Inizializza una nuova istanza della classe MachineKeySessionSecurityTokenHandler. |
MachineKeySessionSecurityTokenHandler(TimeSpan) |
Inizializza una nuova istanza della classe MachineKeySessionSecurityTokenHandler con la durata predefinita del token specificata. |
Proprietà
CanValidateToken |
Ottiene un valore che indica se il gestore supporta la convalida di token di tipo SessionSecurityToken. (Ereditato da SessionSecurityTokenHandler) |
CanWriteToken |
Ottiene un valore che indica se il gestore può scrivere i token di tipo SessionSecurityToken. (Ereditato da SessionSecurityTokenHandler) |
Configuration |
Ottiene o imposta l'oggetto SecurityTokenHandlerConfiguration che fornisce la configurazione per l'istanza corrente. (Ereditato da SecurityTokenHandler) |
ContainingCollection |
Ottiene la raccolta di gestori di token che contiene l'istanza corrente. (Ereditato da SecurityTokenHandler) |
CookieElementName |
Ottiene il nome per l'elemento Cookie. (Ereditato da SessionSecurityTokenHandler) |
CookieNamespace |
Ottiene lo spazio dei nomi dell'elemento Cookie. (Ereditato da SessionSecurityTokenHandler) |
TokenLifetime |
Ottiene o imposta la durata del token. (Ereditato da SessionSecurityTokenHandler) |
TokenType |
Ottiene il tipo dei token che questo gestore elabora. (Ereditato da SessionSecurityTokenHandler) |
Transforms |
Ottiene le trasformazioni che saranno applicate al cookie. (Ereditato da SessionSecurityTokenHandler) |
Metodi
ApplyTransforms(Byte[], Boolean) |
Applica le trasformazioni specificate dalla proprietà Transforms per codificare o decodificare il cookie specificato. (Ereditato da SessionSecurityTokenHandler) |
CanReadKeyIdentifierClause(XmlReader) |
Restituisce un valore che indica se l'elemento XML a cui il lettore XML specificato fa riferimento è 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 un token del tipo elaborato da questa istanza. (Ereditato da SecurityTokenHandler) |
CanReadToken(XmlReader) |
Restituisce un valore che indica se il lettore viene posizionato in corrispondenza di un elemento |
CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause) |
Restituisce un valore che indica se la clausola dell'identificatore chiave specificata può essere serializzata da questa istanza. (Ereditato da SecurityTokenHandler) |
CreateSecurityTokenReference(SecurityToken, Boolean) |
Una volta eseguito l'override in una classe derivata, crea il riferimento del token di sicurezza per i token elaborati da quella classe. Questo metodo in genere viene chiamato da un servizio token di sicurezza (STS). (Ereditato da SecurityTokenHandler) |
CreateSessionSecurityToken(ClaimsPrincipal, String, String, DateTime, DateTime) |
Crea SessionSecurityToken in base all'entità attestazioni specificata e all'intervallo di tempo durante il quale il token è valido. (Ereditato da SessionSecurityTokenHandler) |
CreateToken(SecurityTokenDescriptor) |
Crea un token di sicurezza basato sul descrittore del token specificato. (Ereditato da SessionSecurityTokenHandler) |
DetectReplayedToken(SecurityToken) |
Una volta eseguito l'override in una classe derivata, viene generata un'eccezione se il token specificato viene rilevato come ripetuto. (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 dei tipi di token per i tipi di token che possono essere elaborati da questo gestore. (Ereditato da SessionSecurityTokenHandler) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
LoadCustomConfiguration(XmlNodeList) |
Carica la configurazione personalizzata da XML. (Ereditato da SessionSecurityTokenHandler) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ReadKeyIdentifierClause(XmlReader) |
Quando viene sottoposto a override in una classe derivata, deserializza l'XML a cui fa riferimento il lettore XML specificato a una clausola dell'identificatore di chiave che si riferisce a un token elaborato dalla classe derivata. (Ereditato da SecurityTokenHandler) |
ReadToken(Byte[], SecurityTokenResolver) |
Legge l'oggetto SessionSecurityToken da un flusso di byte utilizzando il resolver di token specificato. (Ereditato da SessionSecurityTokenHandler) |
ReadToken(String) |
Una volta eseguito l'override in una classe derivata, deserializza la stringa specificata in un token del tipo elaborato dalla classe derivata. (Ereditato da SecurityTokenHandler) |
ReadToken(XmlReader) |
Legge SessionSecurityToken utilizzando il lettore XML specificato. (Ereditato da SessionSecurityTokenHandler) |
ReadToken(XmlReader, SecurityTokenResolver) |
Legge l'oggetto SessionSecurityToken utilizzando il lettore XML e il resolver di token specificati. (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) |
Traccia l'evento di errore durante la convalida dei token di sicurezza se è abilitata la tracciatura. (Ereditato da SecurityTokenHandler) |
TraceTokenValidationSuccess(SecurityToken) |
Traccia la convalida dell'evento dei token di sicurezza se è abilitata la tracciatura. (Ereditato da SecurityTokenHandler) |
ValidateSession(SessionSecurityToken) |
Determina se la sessione associata al token specificato è ancora valida. La validità è determinata controllando le proprietà di ValidFrom e di 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 della sessione specifica e ne restituisce le richieste. (Ereditato da SessionSecurityTokenHandler) |
WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause) |
Una volta eseguito l'override in una classe derivata, serializza la clausola identificatore chiave specificata in XML. La clausola identificatore di chiave deve essere di tipo supportato dalla classe derivata. (Ereditato da SecurityTokenHandler) |
WriteToken(SecurityToken) |
Una volta eseguito l'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 di sicurezza specificato utilizzando il writer XML specificato. (Ereditato da SessionSecurityTokenHandler) |