Come funzionano le sessioni?
Prima di poter comprendere il problema, è necessario avere una comprensione di come funzionano le sessioni.
Il modo più comune per gestire le sessioni è quello di inviare al browser un cookie con un valore casuale e imprevedibile al momento dell'accesso e associarlo ad alcuni dati sul server:
- Informazioni di accesso degli utenti POST
-
Il server convalida le informazioni di accesso, crea una stringa casuale 2c64279f045bcb64ea8cd4d576514545
, lo mappa in alcuni dati:
2c64279f045bcb64ea8cd4d576514545: {userId: 123, username: "johndoe", otherdata: ...}
-
Server indica al browser di memorizzare 2c64279f045bcb64ea8cd4d576514545
come cookie che alla fine scadrà
- Il browser invia il cookie con ogni richiesta al server, in modo che il server possa vedere chi sta effettuando la richiesta
Come funziona la scadenza della sessione?
Poiché i dati dei cookie sono utilizzati come valore di ricerca sul server, il semplice scadimento del cookie non è sufficiente. Chiunque poteva copiare il valore e il server non avrebbe idea che avrebbe dovuto scadere. Scadenza sessione deve succedere lato server. Il modo in cui questo viene fatto dipende dalla lingua e dal framework che stai utilizzando. Non ho utilizzato personalmente .NET, ma questo potrebbe essere rilevante.