Tenere separati i dati dei locali
I tuoi locali condividono un marchio, un menu e una libreria di ricette. Quello che non condividono è il lavoro di ogni giorno: ordini, giacenze, turni, incassi, fatture, storico clienti.
La regola
Chi è entrato può vedere e cambiare solo i dati dei locali a cui è davvero collegato, non del locale che la richiesta dichiara.
Come viene fatta rispettare
A ogni singola azione succedono tre cose:
- Chi sta chiedendo. La tua identità si legge dalla prova che porta il browser, che non si può falsificare né passare ad altri.
- Cosa può toccare. L’elenco dei locali a cui sei collegato viene letto nel database. Non è la richiesta a dichiararlo.
- Il locale corrisponde? Il locale della richiesta viene confrontato con quell’elenco. Se non c’è, la richiesta viene rifiutata.
Il terzo controllo è quello che regge tutto, e gira sul server a ogni endpoint. Il browser non può scavalcarlo: né con una richiesta modificata, né con gli strumenti da sviluppatore aperti, né con una chiamata scritta a mano.
Cosa vuol dire ogni giorno
Il capocuoco di una sede apre gli ordini e vede i suoi. Il manager dell’altra cambia un prezzo e vale solo lì. Il selettore in alto ti sposta tra i locali a cui sei davvero collegato, e da nessun’altra parte.
Da cosa non protegge
- Chi hai collegato apposta a tutti e due i locali. L’accesso è una decisione tua, e il sistema fa rispettare la decisione invece di metterla in dubbio.
- Un login condiviso. Due persone su un account solo sono una persona sola per qualsiasi sistema. Dai a ognuno il suo.
- I ruoli di gruppo. Chi ha un ruolo di gruppo arriva ai cataloghi condivisi per scelta: vedi chi può vedere il tuo gruppo.
Funzioni collegate
- Chi può vedere il tuo gruppo — lo strato di gruppo sopra a questo
- Gestire più di una sede — cosa è condiviso apposta
- Membri — collegare qualcuno a un locale