GlisWeb
 Tutto File Funzioni Variabili Pagine
Utenti, autenticazione, privilegi

introduzione

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:

autenticazione tramite $_REQUEST

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']:

schemaAutenticazione_rev01.png

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'].