Domanda

Sto implementando una classe di identità personalizzata per un sito ASP.NET 4.0 con autenticazione dei moduli basati su questo tutorial:
Forms Configurazione di autenticazione e argomenti avanzati

Vorrei archiviare informazioni sugli utenti extra (nome/cognome, genere, regione geografica, file di file in miniatura del profilo, ecc ...) in Authcookie. C'è un avvertimento su msdn.microsoft.com Informazioni su limitare le dimensioni della proprietà utente.

Non sono stato in grado di trovare un limite di carattere definitivo per la proprietà UserData. Solo che l'intero crittografato Il cookie dovrebbe essere sotto 4096 byte.

Qualcuno conosce un limite di carattere massimo che dovrei assumere nel mio codice? O hai un'idea migliore su come archiviare questi pezzi di spessore spesso necessari?

Grazie

È stato utile?

Soluzione

Non esiste un limite esplicito: la dimensione massima dipenderà, ad esempio, dalla lunghezza del nome utente. Anche la dimensione massima di un cookie (o di un URL se si utilizza i biglietti Cookieless) dipende dal browser.

È possibile archiviare quel tipo di informazione sul lato server (ad esempio sessione), possibilmente con una sorta di chiave / ID nel cookie. Un modo per farlo sarebbe quello Implementa un'usanza ProfileProvider.

Uno svantaggio di archiviare informazioni specifiche per l'applicazione come descrivere nel cookie di FormsAuthentication è che avrai bisogno di una riprogettazione se mai la tua applicazione deve passare dalla formautentica a qualche altro metodo di autenticazione (ad esempio WindowsAuthentication).

Personalmente memorizzerei solo informazioni pertinenti per l'autenticazione e possibilmente l'autorizzazione nel cookie di Formsautentica, come qualsiasi altra cosa farebbe aumentare l'accoppiamento.

Altri suggerimenti

Dipende dalla lunghezza massima del cookie del browser. Questo articolo può aiutare: Browser Limite di cookie

E questo articolo ti aiuta anche a controllare la dimensione del biglietto dell'autenticazione attuale:Controllo del biglietto di autenticazione ASP.NET

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top