Condividi tramite


MachineKeySessionSecurityTokenHandler Classe

Definizione

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à
MachineKeySessionSecurityTokenHandler

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 <wsc:SecurityContextToken>.

(Ereditato da SessionSecurityTokenHandler)
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)

Si applica a

Vedi anche