GlisWeb è in grado di riconoscere l'utente connesso tramite un cookie il cui nome è impostato in _src/_config/_180.auth.php a partire da dati impostati in src/config/010.site.php in modo da essere univoco per ogni installazione. All'interno del cookie viene salvato unicamente il token di autenticazione, che verrà letto alla successiva apertura di pagina, rigenerato, e nuovamente salvato. In questo modo i token salvati sui client sono monouso in modo da ostacolare gli attacchi di tipo "riutilizzo del token".
Lato server, le sessioni sono salvate nel database collegato al sito e in particolare nella tabella _anagrafica_accounts_sessioni. In questa tabella sono salvate le informazioni essenziali riguardanti la sessione ovvero:
| campo | tipo | charset | descrizione |
|---|---|---|---|
| id | char(32) | utf8_general_ci | l'id della sessione; corrisponde al token salvato nel cookie |
| id_account | int(11) | l'id dell'account autenticato per la sessione | |
| timestamp_inizio | int(11) | la timestamp di creazione della sessione | |
| timestamp_refresh | int(11) | la timestamp dell'ultimo refresh della sessione |
Vincoli di chiave esterna:
Indici:
Il meccanismo di autenticazione si trova in _src/_config/_200.user.php e ragiona secondo il seguente schema per assegnare un valore INT o NULL alla variabile $cf['user']['accountId']:
Lo schema conta sul fatto che a livello _src/_config/_180.auth.php venga valorizzata come STRING o come NULL la variabile $cf['user']['sessionId'] in caso di presenza di un cookie valido e contentente un token di sessione sul pc dell'utente.
Una volta valorizzata la variabile $cf['user']['accountId'] (ovvero, una volta stabilito con quale account l'istanza corrente ha a che fare) si procede a recuperare sia i dati dell'utente che quelli dell'account e della sessione tramite la funzione getUserData() che rivalorizza daccapo l'array $cf['user'].
1.8.1.2