HandyCafe Docs
owner

Ruoli e Permessi Cassiere

HandyCafe utilizza il controllo degli accessi basato sui ruoli (RBAC) per gestire cosa ogni membro del personale puo vedere e fare all'interno del sistema. A ogni cassiere viene assegnato un ruolo e quel ruolo determina i permessi esatti nell'intera applicazione.


Tipi di Ruolo

HandyCafe fornisce tre tipi di ruoli:

Admin

Il ruolo Admin garantisce accesso illimitato a ogni funzionalita del sistema. Gli admin possono gestire i cassieri, visualizzare tutti i report, modificare le impostazioni ed eseguire qualsiasi operazione. Questo ruolo e destinato ai proprietari e ai manager senior che necessitano del controllo completo.

C'e sempre almeno un account Admin nel sistema. Il ruolo Admin non puo essere eliminato ne avere i propri permessi ridotti.

Predefinito

Il ruolo Predefinito non ha permessi speciali assegnati. Un cassiere con il ruolo Predefinito puo accedere ed eseguire operazioni di base ma non puo accedere ad aree riservate come la gestione membri, i report o la configurazione delle console. Utilizzalo come punto di partenza per i nuovi assunti che devono gestire solo attivita basilari.

Personalizzato

I ruoli personalizzati ti permettono di definire esattamente quali permessi ha un cassiere. Scegli un nome, imposta un livello e poi attiva o disattiva singoli flag di permesso in sei categorie. Questo ti offre un controllo preciso su cosa ogni membro del personale puo accedere.


Categorie di Permessi

HandyCafe ha 22 flag di permesso individuali organizzati in 6 categorie. Ogni flag controlla un'azione o vista specifica all'interno del sistema.

1. Autenticazione (1 flag)

Flag Descrizione
CLIENT_LOGIN Consente al cassiere di accedere ai PC client (avviare sessioni per conto dei clienti)

Senza questo permesso, un cassiere non puo avviare o gestire sessioni client.

2. Membri (6 flag)

Flag Descrizione
VIEW Visualizza l'elenco membri e i dettagli membro
ADD Crea nuovi account membro
DELETE Rimuove account membro dal sistema
UPDATE Modifica le informazioni membro esistenti (nome, saldo, ecc.)
DISPLAY_EMAIL Visualizza gli indirizzi email dei membri nell'elenco
DISPLAY_GSM Visualizza i numeri di telefono dei membri nell'elenco

Un cassiere con solo VIEW puo consultare l'elenco membri ma non puo creare, modificare o rimuovere alcun membro. I flag DISPLAY_EMAIL e DISPLAY_GSM controllano se le informazioni di contatto sensibili sono visibili. Questo e utile per la conformita alla privacy dove non tutto il personale dovrebbe vedere i dati personali.

3. Console (4 flag)

Flag Descrizione
VIEW Visualizza la pagina console e le schede di stato console
ADD Registra nuove console da gioco nel sistema
DELETE Rimuove console dal sistema
UPDATE Modifica i dettagli delle console (nome, indirizzo MAC, tariffe)

4. Log (4 flag)

Flag Descrizione
VIEW Accede alla pagina log
DISPLAY_FULL Visualizza lo storico completo dei log (tutte le date)
DISPLAY_TODAY Visualizza solo le voci di log di oggi
DELETE Elimina le voci di log

Se un cassiere ha VIEW e DISPLAY_TODAY ma non DISPLAY_FULL, puo vedere solo le voci di log del giorno corrente. Questo e utile per i supervisori di turno che devono monitorare l'attivita corrente senza accedere ai registri storici.

5. Report (3 flag)

Flag Descrizione
PAGE_VIEW Accede alla pagina report/report di cassa
DISPLAY_FULL Visualizza lo storico completo dei report (tutte le date)
DISPLAY_TODAY Visualizza solo i dati dei report di oggi

Come per i log, i permessi sui report ti permettono di controllare se il personale puo vedere lo storico finanziario completo o solo i dati del giorno corrente. Un cassiere con PAGE_VIEW e DISPLAY_TODAY puo consultare le transazioni del proprio turno ma non puo accedere ai dati storici dei ricavi.

6. Metodi di Pagamento (4 flag)

Flag Descrizione
MANAGE Accede all'area di gestione dei metodi di pagamento
ADD Crea nuovi metodi di pagamento (contanti, carta, pagamento mobile, ecc.)
DELETE Rimuove metodi di pagamento dal sistema
UPDATE Modifica i dettagli dei metodi di pagamento esistenti

Riepilogo

Categoria Flag Totale
Autenticazione CLIENT_LOGIN 1
Membri VIEW, ADD, DELETE, UPDATE, DISPLAY_EMAIL, DISPLAY_GSM 6
Console VIEW, ADD, DELETE, UPDATE 4
Log VIEW, DISPLAY_FULL, DISPLAY_TODAY, DELETE 4
Report PAGE_VIEW, DISPLAY_FULL, DISPLAY_TODAY 3
Metodi di Pagamento MANAGE, ADD, DELETE, UPDATE 4
Totale 22

Come Funzionano i Permessi

Ogni categoria di permessi ha un set di flag individuali. Ogni flag puo essere abilitato o disabilitato in modo indipendente utilizzando le caselle di controllo nell'editor dei ruoli.

L'interfaccia fornisce caselle di controllo per ogni permesso. Basta selezionare o deselezionare i permessi che vuoi concedere o revocare. Il sistema gestisce automaticamente l'archiviazione sottostante: non e necessario calcolare alcun valore manualmente.

Ad esempio, nella categoria Membri, puoi abilitare o disabilitare indipendentemente: VIEW, ADD, DELETE, UPDATE, DISPLAY_EMAIL e DISPLAY_GSM. Un cassiere con solo VIEW e UPDATE selezionati puo visualizzare e modificare i membri, ma non puo aggiungerli o eliminarli.


Creare un Account Cassiere

  1. Vai su Gestione > Cassieri nell'applicazione server.
  2. Clicca il pulsante Aggiungi Cassiere.
  3. Inserisci il nome utente del cassiere. Questo e cio che usera per accedere.
  4. Imposta una password. Scegli una password forte. Questo account potrebbe avere accesso a dati finanziari e informazioni dei clienti.
  5. Seleziona un ruolo dal menu a tendina. Puoi scegliere Admin, Predefinito o qualsiasi ruolo personalizzato che hai creato.
  6. Clicca Salva per creare l'account.

Il nuovo cassiere puo ora accedere al server HandyCafe utilizzando le sue credenziali.


Creare un Ruolo Personalizzato

  1. Vai su Gestione > Ruoli Cassiere nell'applicazione server.
  2. Clicca il pulsante Aggiungi Ruolo.
  3. Inserisci un nome ruolo (ad esempio "Supervisore di Turno", "Cassiere Junior", "Personale Notturno").
  4. Imposta il livello del ruolo. Livelli piu alti indicano maggiore autorita. Viene utilizzato per l'ordinamento di visualizzazione e la gerarchia organizzativa.
  5. Seleziona o deseleziona i singoli permessi in tutte e sei le categorie. Ogni casella di controllo corrisponde a una delle 22 impostazioni di permesso.
  6. Clicca Salva per creare il ruolo.

Una volta creato, puoi assegnare questo ruolo a qualsiasi account cassiere.


Applicazione Lato Server

I permessi vengono applicati sul lato server, non solo nascosti nell'interfaccia. Anche se qualcuno dovesse aggirare l'interfaccia client o manipolare il codice frontend, il server valida ogni richiesta rispetto ai permessi del ruolo del cassiere prima di eseguirla.

Questo significa che:

  • Un cassiere senza MEMBER_DELETE non puo eliminare un membro, nemmeno inviando una richiesta API diretta.
  • Un cassiere senza REPORT_DISPLAY_FULL non puo recuperare i dati storici dei report, indipendentemente da come accede al sistema.
  • Tutti i controlli dei permessi avvengono nel backend Rust prima che venga eseguita qualsiasi operazione sul database.

Sicurezza: Limitazione Tentativi

Per proteggersi dagli attacchi brute-force, HandyCafe applica la limitazione dei tentativi di accesso:

  • 5 tentativi di accesso falliti in una finestra di 10 minuti attivano un blocco automatico.
  • Il blocco dura 15 minuti, durante i quali nessun tentativo di accesso viene accettato per quell'account.
  • Dopo la scadenza del periodo di blocco, il cassiere puo riprovare.

Questo si applica sia alla schermata di accesso del server che all'accesso cassiere sui PC client.


Gestione dei Turni

L'attivita di ogni cassiere viene tracciata individualmente durante il turno:

  • Tutte le transazioni (pagamenti sessioni, pagamenti ordini, ecc.) vengono registrate con l'identita del cassiere.
  • Il registro di cassa traccia il saldo di apertura e chiusura per il turno di ciascun cassiere separatamente.
  • I report di turno possono essere generati per cassiere, mostrando esattamente quanti ricavi hanno elaborato durante il turno.
  • Quando un cassiere effettua il logout, il turno viene chiuso e un riepilogo e disponibile per la consultazione.

Questo tracciamento per cassiere garantisce la responsabilita e rende facile identificare le discrepanze alla fine di ogni turno.


Esempi di Permessi

Scenario 1: Cassiere Base Un nuovo assunto che deve solo avviare/terminare sessioni e incassare pagamenti. Assegnagli un ruolo personalizzato con solo CLIENT_LOGIN abilitato. Non puo visualizzare membri, report, log o console.

Scenario 2: Supervisore di Turno Un dipendente di fiducia che supervisiona la sala. Assegnagli un ruolo con CLIENT_LOGIN, MEMBER_VIEW, MEMBER_UPDATE, CONSOLE_VIEW, REPORT_PAGE_VIEW e REPORT_DISPLAY_TODAY. Puo gestire le sessioni, visualizzare (ma non eliminare) i membri, vedere le console e controllare i ricavi di oggi ma non puo accedere ai report storici completi o modificare i metodi di pagamento.

Scenario 3: Responsabile Notturno Un manager che gestisce il turno notturno in autonomia. Assegnagli la maggior parte dei permessi eccetto MEMBER_DELETE, LOG_DELETE e PAYMENT_METHOD_DELETE. Puo gestire tutto durante il turno ma non puo rimuovere permanentemente dati critici.

Scenario 4: Personale con Restrizioni sulla Privacy Un cassiere che non dovrebbe vedere i contatti dei clienti. Crea un ruolo con MEMBER_VIEW abilitato ma DISPLAY_EMAIL e DISPLAY_GSM disabilitati. Puo cercare i membri per nome ma le informazioni di contatto personali sono nascoste.