Il modo più efficiente per recuperare i dati della sessione è di prelevarli dalla memoria, cioè dall'oggetto di sessione fornito dal framework, ovviamente.
Ora, se vuoi mantenere le informazioni relative a un determinato utente (il suo "profilo" in breve) per ricordarlo tra una sessione e l'altra hai diverse tecniche, come persistere in / recuperare da:
- un file con dati serializzati (un file per utente)
- una tabella "utente" con dati serializzati (un record per utente)
- una tabella di database standard con l'ID utente e una colonna per ogni informazione
Dato che hai indicato di non voler generare alcun rapporto sugli utenti (che può essere fatto con la soluzione 3), puoi anche persistere serializzando i dati ogni volta che l'utente aggiorna il suo profilo, e deserializzare e leggere ogni volta che si collega alla tua applicazione. Vorrei memorizzare i dati in un database perché non mi piace gestire un database E file e avere file sul server web, ma questo è gusto personale.
Inoltre, la password dell'utente non dovrebbe essere nella sessione, o se è il caso dovrebbe essere un hash della password.