2009-02-15 15 views
16

Quali sono i diversi modi in cui Machine Keys è utile in asp.net? Penso che i seguenti siano corretti ma ho pensato che potrebbe esserci di più.Utilizza per MachineKey in ASP.NET

  1. applicazioni possono utilizzare lo stesso cookie
  2. server multipli possono lavorare con lo stesso ViewState
+0

@Ben ha trovato questa domanda mentre cercava altre informazioni, ha aggiunto alcune informazioni mancanti in una risposta. – eglasius

risposta

20

MachineKey è utilizzato per:

  • crittografia ViewState e validazione
  • autenticazione basata su form (o autenticazione federata) utilizza questa chiave per la firma del ticket di autenticazione

Avere una Web App installato su più i server richiedono lo stesso codice macchina configurato su tutti loro affinché il bilanciamento del carico funzioni.

Per vedere tutti i dettagli, si prega di fare riferimento a: MSDN How To: Configure MachineKey in ASP.NET 2.0

-3

Encryption - molto comune.

+0

I valori nei cookie e nel viewstate sono crittografati in base a MachineKey. Potresti dire cos'altro viene criptato? – BenMaddox

+0

f.e. le password del provider di appartenenza potrebbero essere crittografate utilizzando il codice di macchina – mikus

+1

@mikus: una cattiva idea. Dovrebbe invece essere utilizzato l'hashing con un sale unico per utente. –

17

chiave della macchina è anche usato per cifrare/decifrare i parametri webresources.axd.

Anche su un singolo server deve essere configurata la chiave della macchina, poiché qualsiasi riciclo del dominio dell'app genererà una nuova chiave quando è impostata su auto. Ciò causa il prossimo postback solo per le pagine renderizzate prima del riciclo, per causare un errore di convalida di stato di visualizzazione e anche problemi con le risorse durante quel periodo.