Salta ai contenuti

46. Gestire i permessi (RBAC)

Ti serve quando devi capire chi puo’ fare cosa nel sistema. Il RBAC (Role-Based Access Control, controllo accessi a ruoli) ti permette di dare accessi diversi a persone diverse, senza dover condividere la tua password.

Il sistema ha 3 ruoli ordinati per livello di accesso decrescente.

Owner — il proprietario (tu)

Sei l’unico utente con ruolo owner. E’ creato all’onboarding (wizard /setup) e non puo’ essere creato a mano dalla pagina Team. Hai accesso completo a tutto:

  • Tutte le aree del pannello (menu, ordini, marketing, pagamenti, KDS, delivery, team, impostazioni, ecc.)
  • Crei e elimini admin e staff
  • Configurare orari, brand, integrazioni (Stripe, ecc.)
  • Vedi la pagina Team e Impostazioni (sono nascoste agli altri ruoli)

Admin — il gestore quotidiano

Adatto al secondo proprietario o al responsabile di sala fidato. Ha accesso quasi completo, eccetto:

  • Non vede la pagina Team (non puo’ creare/eliminare altri collaboratori)
  • Non vede la pagina Impostazioni (non puo’ cambiare orari, brand, Stripe, delivery)

Puo’ invece:

  • Gestire menu, categorie, ingredienti
  • Vedere/confermare/annullare/rimborsare ordini
  • Gestire tavoli, sessioni, postazioni cucina, KDS
  • Creare coupon e promozioni
  • Vedere lista clienti, statistiche, fedelta’
  • Gestire rider e zone delivery (ma non config delivery se in Impostazioni)
  • Vedere il widget Consumo Brigata AI in dashboard

Staff — solo cucina e ordini

Adatto al pizzaiolo, al cameriere o al dipendente di sala che deve solo aiutare con gli ordini. Vede solo:

  • Dashboard — riepilogo ordini di oggi, prodotti esauriti
  • Ordini — lista completa, puo’ cambiare stato (In preparazione, Pronto, Consegnato, ecc.) e gestire ordini scaduti/in ritardo
  • KDS — il monitor cucina con le card delle preparazioni
  • Comande e Postazioni — flusso fire/portate/comande
  • Tavoli e Sessioni — tavoli aperti, conferma incasso al banco

Non vede: menu (no modifica prodotti), marketing (no coupon), clienti (no anagrafica), riders (no gestione), team, impostazioni.

Cosa succede se un ruolo “basso” prova ad aprire un’area “alta”

Se uno staff prova ad aprire /admin/menu digitando manualmente l’URL, il sistema risponde 403 Forbidden (la API rifiuta la richiesta) e l’interfaccia mostra una pagina di errore. Il middleware requireRole(['owner', 'admin']) blocca l’accesso.

Posso cambiare ruolo a un collaboratore esistente?

Si’. Vai su Team, clicca la matita (Modifica) sul collaboratore, cambia il Ruolo dal menu a tendina (Admin / Staff), clicca il check verde. Effettivo al prossimo login del collaboratore.

Attenzione: non puoi convertire un admin/staff in owner. L’owner e’ fisso ed e’ chi ha creato la pizzeria nel wizard. Se devi trasferire la proprieta’ (es. vendi l’attivita’), contatta il tuo referente tecnico per cambiare l’owner manualmente in DB.