Gestione delle informazioni specifiche dell'utente in un'applicazione Web

0

Ho alcune informazioni su un utente che devo memorizzare e accedere in un'applicazione ASP.NET MVC 5. Ecco alcune delle cose che ho bisogno di memorizzare / accedere:

  • Scelta del tema
  • Se vogliono mostrare la barra di navigazione del pannello
  • Se vogliono mostrare la navigazione nella barra dei menu
  • Se vogliono nascondere collegamenti non autorizzati
  • ecc.

Sto cercando di capire quale sia un modo efficace per farlo. Potrei memorizzare le informazioni specifiche dell'utente in un database. Quindi utilizzare un modello di visualizzazione e passare le informazioni specifiche dell'utente insieme agli altri dati richiesti dalla pagina. Così facendo mi farebbe interrogare il database su ogni nuovo caricamento della pagina.

Un'altra opzione è usare lo stato di sessione. Ma leggendo su di esso vedo un sacco di persone che dicono che è problematico e dovrebbero essere evitati quando possibile.

C'è un altro modo di gestire le informazioni specifiche dell'utente che mi manca?

    
posta Linger 23.09.2016 - 17:49
fonte

2 risposte

3

Potresti considerare una combinazione delle tue opzioni: mantieni le informazioni utente nel database per la persistenza a lungo termine ma solo le query al login (o qualsiasi altra cosa sia appropriata). Quindi memorizza la cache in Session, cookie o in un'altra memoria locale sul lato client per evitare ulteriori query.

    
risposta data 23.09.2016 - 19:55
fonte
2

In molte applicazioni web, sarebbe considerato molto normale archiviare queste informazioni nel database e passarle come suggerito. Questo è l'approccio che prenderei.

Se per qualche motivo non hai già un database, potresti considerare di inserire questo tipo di preferenza nei cookie. Questo presuppone che la quantità di dati sia piccola, perderla non conta molto, e non c'è niente di sicurezza o di privilegi. Considera i cookie solo se la perdita dei dati (l'utente ha cancellato i cookie) non causa alcun danno permanente.

    
risposta data 23.09.2016 - 18:13
fonte

Leggi altre domande sui tag