HandyCafe Docs
owner

Ρόλοι & Δικαιώματα Ταμείου

Το HandyCafe χρησιμοποιεί έλεγχο πρόσβασης βάσει ρόλων (RBAC) για να διαχειρίζεται τι μπορεί να δει και να κάνει κάθε μέλος του προσωπικού στο σύστημα. Κάθε ταμίας ανατίθεται σε έναν ρόλο και αυτός ο ρόλος καθορίζει τα ακριβή δικαιώματά τους σε ολόκληρη την εφαρμογή.


Τύποι Ρόλων

Το HandyCafe παρέχει τρεις τύπους ρόλων:

Admin

Ο ρόλος Admin παρέχει απεριόριστη πρόσβαση σε κάθε δυνατότητα του συστήματος. Οι Admin μπορούν να διαχειρίζονται ταμεία, να βλέπουν όλες τις αναφορές, να τροποποιούν ρυθμίσεις και να εκτελούν οποιαδήποτε λειτουργία. Αυτός ο ρόλος προορίζεται για τους ιδιοκτήτες καφέ και τους ανώτερους διευθυντές που χρειάζονται πλήρη έλεγχο.

Υπάρχει πάντα τουλάχιστον ένας λογαριασμός Admin στο σύστημα. Ο ρόλος Admin δεν μπορεί να διαγραφεί ή να μειωθούν τα δικαιώματά του.

Default

Ο ρόλος Default δεν έχει ανατεθεί ειδικά δικαιώματα. Ένας ταμίας με τον ρόλο Default μπορεί να συνδεθεί και να εκτελέσει βασικές λειτουργίες, αλλά δεν μπορεί να έχει πρόσβαση σε περιορισμένες περιοχές όπως η διαχείριση μελών, οι αναφορές ή η διαμόρφωση κονσόλας. Χρησιμοποιήστε αυτόν τον ρόλο ως σημείο εκκίνησης για νέες προσλήψεις που χρειάζονται μόνο να χειρίζονται βασικές εργασίες.

Custom

Οι προσαρμοσμένοι ρόλοι σας επιτρέπουν να ορίσετε ακριβώς ποια δικαιώματα έχει ένας ταμίας. Επιλέγετε ένα όνομα, ορίζετε ένα επίπεδο και στη συνέχεια επιλέγετε ή αποεπιλέγετε μεμονωμένα δικαιώματα σε έξι κατηγορίες. Αυτό σας δίνει λεπτομερή έλεγχο στο τι μπορεί να έχει πρόσβαση κάθε μέλος του προσωπικού.


Κατηγορίες Δικαιωμάτων

Το HandyCafe διαθέτει 22 μεμονωμένα δικαιώματα οργανωμένα σε 6 κατηγορίες. Κάθε δικαίωμα ελέγχει μια συγκεκριμένη ενέργεια ή προβολή στο σύστημα.

1. Authentication (1 δικαίωμα)

Δικαίωμα Περιγραφή
CLIENT_LOGIN Επιτρέπει στον ταμία να συνδεθεί σε υπολογιστές πελατών (έναρξη συνεδριών εκ μέρους των πελατών)

Χωρίς αυτό το δικαίωμα, ένας ταμίας δεν μπορεί να ξεκινήσει ή να διαχειριστεί συνεδρίες πελατών.

2. Members (6 δικαιώματα)

Δικαίωμα Περιγραφή
VIEW Προβολή της λίστας μελών και των λεπτομερειών μελών
ADD Δημιουργία νέων λογαριασμών μελών
DELETE Διαγραφή λογαριασμών μελών από το σύστημα
UPDATE Επεξεργασία υπαρχόντων πληροφοριών μελών (όνομα, υπόλοιπο κ.λπ.)
DISPLAY_EMAIL Προβολή διευθύνσεων email μελών στη λίστα μελών
DISPLAY_GSM Προβολή τηλεφωνικών αριθμών μελών στη λίστα μελών

Ένας ταμίας με μόνο VIEW μπορεί να περιηγηθεί στη λίστα μελών αλλά δεν μπορεί να δημιουργήσει, να επεξεργαστεί ή να διαγράψει κανένα μέλος. Τα δικαιώματα DISPLAY_EMAIL και DISPLAY_GSM ελέγχουν αν είναι ορατές ευαίσθητες πληροφορίες επικοινωνίας. Αυτό είναι χρήσιμο για τη συμμόρφωση με την ιδιωτικότητα όπου δεν πρέπει όλα τα μέλη του προσωπικού να βλέπουν προσωπικά δεδομένα.

3. Consoles (4 δικαιώματα)

Δικαίωμα Περιγραφή
VIEW Προβολή της σελίδας κονσολών και των καρτών κατάστασης κονσολών
ADD Εγγραφή νέων κονσολών παιχνιδιών στο σύστημα
DELETE Διαγραφή κονσολών από το σύστημα
UPDATE Επεξεργασία λεπτομερειών κονσόλας (όνομα, MAC address, τιμολόγηση)

4. Logs (4 δικαιώματα)

Δικαίωμα Περιγραφή
VIEW Πρόσβαση στη σελίδα καταγραφών
DISPLAY_FULL Προβολή του πλήρους ιστορικού καταγραφών (όλες οι ημερομηνίες)
DISPLAY_TODAY Προβολή μόνο των καταγραφών της σημερινής ημέρας
DELETE Διαγραφή καταγραφών

Αν ένας ταμίας έχει VIEW και DISPLAY_TODAY αλλά όχι DISPLAY_FULL, μπορεί να δει μόνο τις καταγραφές της τρέχουσας ημέρας. Αυτό είναι χρήσιμο για τους επόπτες βάρδιας που χρειάζονται να παρακολουθούν την τρέχουσα δραστηριότητα χωρίς πρόσβαση σε ιστορικά αρχεία.

5. Reports (3 δικαιώματα)

Δικαίωμα Περιγραφή
PAGE_VIEW Πρόσβαση στη σελίδα αναφορών/αναφοράς ταμείου
DISPLAY_FULL Προβολή του πλήρους ιστορικού αναφορών (όλες οι ημερομηνίες)
DISPLAY_TODAY Προβολή μόνο των δεδομένων αναφορών της σημερινής ημέρας

Όπως και με τις καταγραφές, τα δικαιώματα αναφορών σας επιτρέπουν να ελέγχετε αν το προσωπικό μπορεί να δει το πλήρες οικονομικό ιστορικό ή μόνο τα στοιχεία της τρέχουσας ημέρας. Ένας ταμίας με PAGE_VIEW και DISPLAY_TODAY μπορεί να εξετάσει τις συναλλαγές της δικής του βάρδιας αλλά δεν μπορεί να έχει πρόσβαση σε ιστορικά δεδομένα εσόδων.

6. Payment Methods (4 δικαιώματα)

Δικαίωμα Περιγραφή
MANAGE Πρόσβαση στην περιοχή διαχείρισης μεθόδων πληρωμής
ADD Δημιουργία νέων μεθόδων πληρωμής (μετρητά, κάρτα, κινητή πληρωμή κ.λπ.)
DELETE Διαγραφή μεθόδων πληρωμής από το σύστημα
UPDATE Επεξεργασία λεπτομερειών υπαρχουσών μεθόδων πληρωμής

Σύνοψη

Κατηγορία Δικαιώματα Σύνολο
Authentication CLIENT_LOGIN 1
Members VIEW, ADD, DELETE, UPDATE, DISPLAY_EMAIL, DISPLAY_GSM 6
Consoles VIEW, ADD, DELETE, UPDATE 4
Logs VIEW, DISPLAY_FULL, DISPLAY_TODAY, DELETE 4
Reports PAGE_VIEW, DISPLAY_FULL, DISPLAY_TODAY 3
Payment Methods MANAGE, ADD, DELETE, UPDATE 4
Σύνολο 22

Πώς Λειτουργούν τα Δικαιώματα

Κάθε κατηγορία δικαιωμάτων έχει ένα σύνολο μεμονωμένων δικαιωμάτων. Κάθε δικαίωμα μπορεί να ενεργοποιηθεί ή να απενεργοποιηθεί ανεξάρτητα χρησιμοποιώντας τα checkboxes στον επεξεργαστή ρόλων.

Η διεπαφή χρήστη παρέχει checkboxes για κάθε δικαίωμα. Απλά επιλέξτε ή αποεπιλέξτε τα δικαιώματα που θέλετε να παραχωρήσετε ή να ανακαλέσετε. Το σύστημα διαχειρίζεται αυτόματα την υποκείμενη αποθήκευση -- δεν χρειάζεται να υπολογίσετε καμία τιμή χειροκίνητα.

Για παράδειγμα, στην κατηγορία Members, μπορείτε να ενεργοποιήσετε ή να απενεργοποιήσετε ανεξάρτητα: VIEW, ADD, DELETE, UPDATE, DISPLAY_EMAIL και DISPLAY_GSM. Ένας ταμίας με μόνο VIEW και UPDATE επιλεγμένα μπορεί να δει και να επεξεργαστεί μέλη, αλλά δεν μπορεί να προσθέσει ή να διαγράψει.


Δημιουργία Λογαριασμού Ταμία

  1. Μεταβείτε στο Διαχείριση > Ταμεία στην εφαρμογή διακομιστή.
  2. Κάντε κλικ στο κουμπί Προσθήκη Ταμία.
  3. Εισάγετε το όνομα χρήστη του ταμία. Αυτό θα χρησιμοποιηθεί για τη σύνδεση.
  4. Ορίστε έναν κωδικό πρόσβασης. Επιλέξτε έναν ισχυρό κωδικό. Αυτός ο λογαριασμός μπορεί να έχει πρόσβαση σε οικονομικά δεδομένα και πληροφορίες πελατών.
  5. Επιλέξτε έναν ρόλο από το αναπτυσσόμενο μενού. Μπορείτε να επιλέξετε Admin, Default ή οποιονδήποτε προσαρμοσμένο ρόλο έχετε δημιουργήσει.
  6. Κάντε κλικ στο Αποθήκευση για να δημιουργήσετε τον λογαριασμό.

Ο νέος ταμίας μπορεί τώρα να συνδεθεί στον διακομιστή HandyCafe χρησιμοποιώντας τα διαπιστευτήριά του.


Δημιουργία Προσαρμοσμένου Ρόλου

  1. Μεταβείτε στο Διαχείριση > Ρόλοι Ταμία στην εφαρμογή διακομιστή.
  2. Κάντε κλικ στο κουμπί Προσθήκη Ρόλου.
  3. Εισάγετε ένα όνομα ρόλου (π.χ., "Επόπτης Βάρδιας", "Νέος Ταμίας", "Νυχτερινό Προσωπικό").
  4. Ορίστε το επίπεδο ρόλου. Τα υψηλότερα επίπεδα υποδεικνύουν περισσότερη εξουσία. Αυτό χρησιμοποιείται για την ταξινόμηση και την οργανωτική ιεραρχία.
  5. Επιλέξτε ή αποεπιλέξτε μεμονωμένα δικαιώματα σε όλες τις έξι κατηγορίες. Κάθε checkbox αντιστοιχεί σε μία από τις 22 ρυθμίσεις δικαιωμάτων.
  6. Κάντε κλικ στο Αποθήκευση για να δημιουργήσετε τον ρόλο.

Αφού δημιουργηθεί, μπορείτε να αναθέσετε αυτόν τον ρόλο σε οποιονδήποτε λογαριασμό ταμία.


Εφαρμογή στο Backend

Τα δικαιώματα εφαρμόζονται στην πλευρά του διακομιστή, όχι μόνο κρυμμένα στη διεπαφή χρήστη. Ακόμα και αν κάποιος παρακάμψει τη διεπαφή πελάτη ή τροποποιήσει τον κώδικα του frontend, ο διακομιστής επικυρώνει κάθε αίτημα σε σχέση με τα δικαιώματα του ρόλου του ταμία πριν το εκτελέσει.

Αυτό σημαίνει:

  • Ένας ταμίας χωρίς MEMBER_DELETE δεν μπορεί να διαγράψει ένα μέλος, ακόμα και αν στείλει άμεσο αίτημα API.
  • Ένας ταμίας χωρίς REPORT_DISPLAY_FULL δεν μπορεί να ανακτήσει ιστορικά δεδομένα αναφορών, ανεξάρτητα από το πώς αποκτά πρόσβαση στο σύστημα.
  • Όλοι οι έλεγχοι δικαιωμάτων γίνονται στο backend του Rust πριν εκτελεστεί οποιαδήποτε λειτουργία στη βάση δεδομένων.

Ασφάλεια: Περιορισμός Ρυθμού

Για την προστασία από επιθέσεις brute-force, το HandyCafe εφαρμόζει περιορισμό ρυθμού σύνδεσης:

  • 5 αποτυχημένες προσπάθειες σύνδεσης μέσα σε ένα παράθυρο 10 λεπτών ενεργοποιούν αυτόματο κλείδωμα.
  • Το κλείδωμα διαρκεί 15 λεπτά, κατά τη διάρκεια των οποίων δεν γίνονται δεκτές προσπάθειες σύνδεσης για αυτόν τον λογαριασμό.
  • Μετά τη λήξη της περιόδου κλειδώματος, ο ταμίας μπορεί να προσπαθήσει ξανά.

Αυτό ισχύει τόσο για την οθόνη σύνδεσης του διακομιστή όσο και για τη σύνδεση ταμία σε υπολογιστές πελατών.


Διαχείριση Βάρδιας

Η δραστηριότητα κάθε ταμία παρακολουθείται ξεχωριστά κατά τη διάρκεια της βάρδιάς του:

  • Όλες οι συναλλαγές (πληρωμές συνεδριών, πληρωμές παραγγελιών κ.λπ.) καταγράφονται με την ταυτότητα του ταμία.
  • Το ταμείο παρακολουθεί το αρχικό και το τελικό υπόλοιπο για κάθε βάρδια ταμία ξεχωριστά.
  • Οι αναφορές βάρδιας μπορούν να δημιουργηθούν ανά ταμία, δείχνοντας ακριβώς πόσα έσοδα επεξεργάστηκαν κατά τη διάρκεια της βάρδιάς τους.
  • Όταν ένας ταμίας αποσυνδέεται, η βάρδιά του κλείνει και μια σύνοψη είναι διαθέσιμη για ανασκόπηση.

Αυτή η παρακολούθηση ανά ταμία εξασφαλίζει την υπευθυνότητα και διευκολύνει την αναγνώριση αποκλίσεων στο τέλος κάθε βάρδιας.


Παραδείγματα Δικαιωμάτων

Σενάριο 1: Βασικός Ταμίας Ένας νέος υπάλληλος που χρειάζεται μόνο να ξεκινά/σταματά συνεδρίες και να δέχεται πληρωμές. Αναθέστε του έναν προσαρμοσμένο ρόλο με μόνο το CLIENT_LOGIN ενεργοποιημένο. Δεν μπορεί να δει μέλη, αναφορές, καταγραφές ή κονσόλες.

Σενάριο 2: Επόπτης Βάρδιας Ένας αξιόπιστος υπάλληλος που επιβλέπει το πάτωμα. Αναθέστε του έναν ρόλο με CLIENT_LOGIN, MEMBER_VIEW, MEMBER_UPDATE, CONSOLE_VIEW, REPORT_PAGE_VIEW και REPORT_DISPLAY_TODAY. Μπορεί να διαχειρίζεται συνεδρίες, να βλέπει (αλλά όχι να διαγράφει) μέλη, να βλέπει κονσόλες και να ελέγχει τα σημερινά έσοδα αλλά δεν μπορεί να έχει πρόσβαση σε πλήρεις ιστορικές αναφορές ή να τροποποιεί μεθόδους πληρωμής.

Σενάριο 3: Νυχτερινός Διευθυντής Ένας διευθυντής που διαχειρίζεται τη νυχτερινή βάρδια ανεξάρτητα. Δώστε του τα περισσότερα δικαιώματα εκτός από MEMBER_DELETE, LOG_DELETE και PAYMENT_METHOD_DELETE. Μπορεί να διαχειρίζεται τα πάντα κατά τη διάρκεια της βάρδιάς του αλλά δεν μπορεί να αφαιρέσει μόνιμα κρίσιμα δεδομένα.

Σενάριο 4: Προσωπικό με Περιορισμένη Ιδιωτικότητα Ένας ταμίας που δεν πρέπει να βλέπει στοιχεία επικοινωνίας πελατών. Δημιουργήστε έναν ρόλο με το MEMBER_VIEW ενεργοποιημένο αλλά το DISPLAY_EMAIL και το DISPLAY_GSM απενεργοποιημένα. Μπορεί να αναζητήσει μέλη με βάση το όνομα αλλά οι προσωπικές πληροφορίες επικοινωνίας είναι κρυφές.