Ρόλοι και Δικαιώματα Ταμία
Το HandyCafe χρησιμοποιεί έλεγχο πρόσβασης βάσει ρόλου (RBAC) για τη διαχείριση αυτών που κάθε μέλος προσωπικού μπορεί να δει και να κάνει μέσα στο σύστημα. Σε κάθε ταμία ανατίθεται ένας ρόλος και αυτός ο ρόλος καθορίζει τα ακριβή δικαιώματά του σε ολόκληρη την εφαρμογή.
Τύποι Ρόλων
Το HandyCafe παρέχει τρεις τύπους ρόλων:
Διαχειριστής
Ο ρόλος Διαχειριστή παρέχει απεριόριστη πρόσβαση σε κάθε λειτουργία του συστήματος. Οι Διαχειριστές μπορούν να διαχειρίζονται ταμίες, να βλέπουν όλες τις αναφορές, να τροποποιούν ρυθμίσεις και να εκτελούν οποιαδήποτε λειτουργία. Αυτός ο ρόλος προορίζεται για ιδιοκτήτες cafe και ανώτερα στελέχη που χρειάζονται πλήρη έλεγχο.
Υπάρχει πάντα τουλάχιστον ένας λογαριασμός Διαχειριστή στο σύστημα. Ο ρόλος Διαχειριστή δεν μπορεί να διαγραφεί ούτε να μειωθούν τα δικαιώματά του.
Προεπιλεγμένος
Ο Προεπιλεγμένος ρόλος δεν έχει ειδικά δικαιώματα. Ένας ταμίας με τον Προεπιλεγμένο ρόλο μπορεί να συνδεθεί και να εκτελέσει βασικές λειτουργίες αλλά δεν μπορεί να αποκτήσει πρόσβαση σε περιορισμένες περιοχές όπως διαχείριση μελών, αναφορές ή ρυθμίσεις κονσολών. Χρησιμοποιήστε τον ως αφετηρία για νέο προσωπικό που χρειάζεται να χειρίζεται μόνο βασικές εργασίες.
Προσαρμοσμένος
Οι Προσαρμοσμένοι ρόλοι σας επιτρέπουν να ορίσετε ακριβώς ποια δικαιώματα έχει ένας ταμίας. Επιλέγετε ένα όνομα, ορίζετε ένα επίπεδο και μετά ενεργοποιείτε ή απενεργοποιείτε μεμονωμένες σημαίες δικαιωμάτων σε έξι κατηγορίες. Αυτό σας δίνει λεπτομερή έλεγχο σχετικά με αυτά που κάθε μέλος προσωπικού μπορεί να αποκτήσει πρόσβαση.
Κατηγορίες Δικαιωμάτων
Το HandyCafe έχει 22 μεμονωμένες σημαίες δικαιωμάτων οργανωμένες σε 6 κατηγορίες. Κάθε σημαία ελέγχει μια συγκεκριμένη ενέργεια ή προβολή μέσα στο σύστημα.
1. Αυθεντικοποίηση (1 σημαία)
| Σημαία | Περιγραφή |
|---|---|
| CLIENT_LOGIN | Επιτρέπει στον ταμία να συνδέει client PC (εκκίνηση συνεδριών εκ μέρους πελατών) |
Χωρίς αυτό το δικαίωμα, ένας ταμίας δεν μπορεί να ξεκινήσει ή να διαχειριστεί συνεδρίες client.
2. Μέλη (6 σημαίες)
| Σημαία | Περιγραφή |
|---|---|
| VIEW | Προβολή λίστας μελών και λεπτομερειών μέλους |
| ADD | Δημιουργία νέων λογαριασμών μελών |
| DELETE | Αφαίρεση λογαριασμών μελών από το σύστημα |
| UPDATE | Επεξεργασία υπαρχόντων πληροφοριών μέλους (όνομα, υπόλοιπο κ.λπ.) |
| DISPLAY_EMAIL | Προβολή διευθύνσεων email μελών στη λίστα μελών |
| DISPLAY_GSM | Προβολή τηλεφωνικών αριθμών μελών στη λίστα μελών |
Ένας ταμίας με μόνο VIEW μπορεί να περιηγηθεί στη λίστα μελών αλλά δεν μπορεί να δημιουργήσει, επεξεργαστεί ή αφαιρέσει μέλη. Οι σημαίες DISPLAY_EMAIL και DISPLAY_GSM ελέγχουν εάν τα ευαίσθητα στοιχεία επικοινωνίας είναι ορατά. Αυτό είναι χρήσιμο για συμμόρφωση με την ιδιωτικότητα.
3. Κονσόλες (4 σημαίες)
| Σημαία | Περιγραφή |
|---|---|
| VIEW | Προβολή σελίδας κονσολών και καρτών κατάστασης |
| ADD | Καταχώρηση νέων κονσολών gaming στο σύστημα |
| DELETE | Αφαίρεση κονσολών από το σύστημα |
| UPDATE | Επεξεργασία λεπτομερειών κονσόλας (όνομα, MAC, τιμολόγηση) |
4. Αρχεία Καταγραφής (4 σημαίες)
| Σημαία | Περιγραφή |
|---|---|
| VIEW | Πρόσβαση στη σελίδα αρχείων καταγραφής |
| DISPLAY_FULL | Προβολή πλήρους ιστορικού καταγραφής (όλες οι ημερομηνίες) |
| DISPLAY_TODAY | Προβολή μόνο σημερινών καταχωρήσεων |
| DELETE | Διαγραφή καταχωρήσεων αρχείων καταγραφής |
Εάν ένας ταμίας έχει VIEW και DISPLAY_TODAY αλλά όχι DISPLAY_FULL, μπορεί να δει μόνο τις καταχωρήσεις της τρέχουσας ημέρας. Αυτό είναι χρήσιμο για επόπτες βάρδιας που χρειάζεται να παρακολουθούν την τρέχουσα δραστηριότητα χωρίς πρόσβαση σε ιστορικά αρχεία.
5. Αναφορές (3 σημαίες)
| Σημαία | Περιγραφή |
|---|---|
| PAGE_VIEW | Πρόσβαση στη σελίδα αναφορών/αναφοράς ταμείου |
| DISPLAY_FULL | Προβολή πλήρους ιστορικού αναφορών (όλες οι ημερομηνίες) |
| DISPLAY_TODAY | Προβολή μόνο σημερινών δεδομένων αναφοράς |
Παρόμοια με τα αρχεία καταγραφής, τα δικαιώματα αναφορών σας επιτρέπουν να ελέγξετε εάν το προσωπικό μπορεί να δει πλήρες οικονομικό ιστορικό ή μόνο τα στοιχεία σημερινής ημέρας.
6. Μέθοδοι Πληρωμής (4 σημαίες)
| Σημαία | Περιγραφή |
|---|---|
| MANAGE | Πρόσβαση στην περιοχή διαχείρισης μεθόδων πληρωμής |
| ADD | Δημιουργία νέων μεθόδων πληρωμής (μετρητά, κάρτα, κινητό κ.λπ.) |
| DELETE | Αφαίρεση μεθόδων πληρωμής από το σύστημα |
| UPDATE | Επεξεργασία υπαρχόντων λεπτομερειών μεθόδων πληρωμής |
Σύνοψη
| Κατηγορία | Σημαίες | Σύνολο |
|---|---|---|
| Αυθεντικοποίηση | CLIENT_LOGIN | 1 |
| Μέλη | VIEW, ADD, DELETE, UPDATE, DISPLAY_EMAIL, DISPLAY_GSM | 6 |
| Κονσόλες | VIEW, ADD, DELETE, UPDATE | 4 |
| Αρχεία Καταγραφής | VIEW, DISPLAY_FULL, DISPLAY_TODAY, DELETE | 4 |
| Αναφορές | PAGE_VIEW, DISPLAY_FULL, DISPLAY_TODAY | 3 |
| Μέθοδοι Πληρωμής | MANAGE, ADD, DELETE, UPDATE | 4 |
| Σύνολο | 22 |
Πώς Λειτουργούν τα Δικαιώματα
Κάθε κατηγορία δικαιωμάτων έχει ένα σύνολο μεμονωμένων σημαιών. Κάθε σημαία μπορεί να ενεργοποιηθεί ή απενεργοποιηθεί ανεξάρτητα χρησιμοποιώντας πλαίσια ελέγχου στον επεξεργαστή ρόλων.
Το περιβάλλον παρέχει πλαίσια ελέγχου για κάθε δικαίωμα. Απλά ενεργοποιήστε ή απενεργοποιήστε τα δικαιώματα που θέλετε να παραχωρήσετε ή ανακαλέσετε. Το σύστημα χειρίζεται την υποκείμενη αποθήκευση αυτόματα.
Για παράδειγμα, στην κατηγορία Μέλη μπορείτε ανεξάρτητα να ενεργοποιήσετε ή απενεργοποιήσετε: VIEW, ADD, DELETE, UPDATE, DISPLAY_EMAIL και DISPLAY_GSM. Ένας ταμίας με μόνο VIEW και UPDATE ενεργοποιημένα μπορεί να δει και να επεξεργαστεί μέλη αλλά δεν μπορεί να τα δημιουργήσει ή διαγράψει.
Δημιουργία Λογαριασμού Ταμία
- Μεταβείτε στο Διαχείριση > Ταμίες στην εφαρμογή server.
- Κάντε κλικ στο κουμπί Προσθήκη Ταμία.
- Εισάγετε το όνομα χρήστη του ταμία. Αυτό θα χρησιμοποιεί για σύνδεση.
- Ορίστε έναν κωδικό. Επιλέξτε ισχυρό κωδικό. Αυτός ο λογαριασμός μπορεί να έχει πρόσβαση σε οικονομικά δεδομένα και πληροφορίες πελατών.
- Επιλέξτε έναν ρόλο από το αναπτυσσόμενο μενού. Μπορείτε να επιλέξετε Διαχειριστή, Προεπιλεγμένο ή οποιονδήποτε προσαρμοσμένο ρόλο.
- Κάντε κλικ στο Αποθήκευση για δημιουργία του λογαριασμού.
Ο νέος ταμίας μπορεί πλέον να συνδεθεί στον HandyCafe server χρησιμοποιώντας τα διαπιστευτήριά του.
Δημιουργία Προσαρμοσμένου Ρόλου
- Μεταβείτε στο Διαχείριση > Ρόλοι Ταμιών στην εφαρμογή server.
- Κάντε κλικ στο κουμπί Προσθήκη Ρόλου.
- Εισάγετε ένα όνομα ρόλου (π.χ. "Επόπτης Βάρδιας", "Νέος Ταμίας", "Νυχτερινό Προσωπικό").
- Ορίστε το επίπεδο ρόλου. Υψηλότερα επίπεδα υποδηλώνουν μεγαλύτερη εξουσία. Χρησιμοποιείται για ταξινόμηση εμφάνισης και οργανωτική ιεραρχία.
- Ενεργοποιήστε ή απενεργοποιήστε μεμονωμένα δικαιώματα σε όλες τις έξι κατηγορίες. Κάθε πλαίσιο ελέγχου αντιστοιχεί σε μία από τις 22 ρυθμίσεις δικαιωμάτων.
- Κάντε κλικ στο Αποθήκευση για δημιουργία του ρόλου.
Μόλις δημιουργηθεί, μπορείτε να αναθέσετε αυτόν τον ρόλο σε οποιονδήποτε λογαριασμό ταμία.
Επιβολή στο Backend
Τα δικαιώματα επιβάλλονται στην πλευρά του server και δεν αποκρύπτονται μόνο στο περιβάλλον. Ακόμα και αν κάποιος παρέκαμπτε τη διεπαφή client ή χειραγωγούσε τον κώδικα frontend, ο server επικυρώνει κάθε αίτημα βάσει των δικαιωμάτων ρόλου του ταμία πριν το εκτελέσει.
Αυτό σημαίνει:
- Ένας ταμίας χωρίς MEMBER_DELETE δεν μπορεί να διαγράψει μέλος, ακόμα και στέλνοντας απευθείας αίτημα API.
- Ένας ταμίας χωρίς REPORT_DISPLAY_FULL δεν μπορεί να ανακτήσει ιστορικά δεδομένα αναφορών, ανεξάρτητα από τον τρόπο πρόσβασης.
- Όλοι οι έλεγχοι δικαιωμάτων πραγματοποιούνται στο backend Rust πριν εκτελεστεί οποιαδήποτε λειτουργία βάσης δεδομένων.
Ασφάλεια: Περιορισμός Ρυθμού
Για προστασία από επιθέσεις brute-force, το HandyCafe επιβάλλει περιορισμό ρυθμού σύνδεσης:
- 5 αποτυχημένες απόπειρες σύνδεσης μέσα σε 10 λεπτά ενεργοποιούν αυτόματο κλείδωμα.
- Το κλείδωμα διαρκεί 15 λεπτά, κατά τα οποία δεν γίνονται δεκτές απόπειρες σύνδεσης για αυτόν τον λογαριασμό.
- Μετά τη λήξη του κλειδώματος, ο ταμίας μπορεί να δοκιμάσει ξανά.
Αυτό ισχύει τόσο στην οθόνη σύνδεσης του server όσο και στη σύνδεση ταμία στα client PC.
Διαχείριση Βάρδιας
Η δραστηριότητα κάθε ταμία παρακολουθείται ατομικά κατά τη διάρκεια της βάρδιας:
- Όλες οι συναλλαγές (πληρωμές συνεδριών, πληρωμές παραγγελιών κ.λπ.) καταγράφονται με την ταυτότητα του ταμία.
- Το ταμείο παρακολουθεί τα υπόλοιπα ανοίγματος και κλεισίματος για κάθε βάρδια ταμία ξεχωριστά.
- Μπορούν να δημιουργηθούν αναφορές βάρδιας ανά ταμία, που δείχνουν ακριβώς πόσα έσοδα επεξεργάστηκαν κατά τη βάρδιά τους.
- Όταν ένας ταμίας αποσυνδέεται, η βάρδιά του κλείνει και μια σύνοψη είναι διαθέσιμη για έλεγχο.
Αυτή η παρακολούθηση ανά ταμία εξασφαλίζει λογοδοσία και διευκολύνει τον εντοπισμό αποκλίσεων στο τέλος κάθε βάρδιας.
Παραδείγματα Δικαιωμάτων
Σενάριο 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 απενεργοποιημένα. Μπορεί να αναζητήσει μέλη ανά όνομα αλλά τα προσωπικά στοιχεία επικοινωνίας αποκρύπτονται.