कैशियर भूमिकाएं और अनुमतियां
HandyCafe भूमिका-आधारित पहुंच नियंत्रण (RBAC) का उपयोग करता है ताकि प्रत्येक कर्मचारी सिस्टम में क्या देख और कर सकता है इसे प्रबंधित किया जा सके। हर कैशियर को एक भूमिका सौंपी जाती है और वह भूमिका पूरे एप्लिकेशन में उनकी सटीक अनुमतियां निर्धारित करती है।
भूमिका प्रकार
HandyCafe तीन प्रकार की भूमिकाएं प्रदान करता है:
एडमिन
एडमिन भूमिका सिस्टम की हर सुविधा तक अप्रतिबंधित पहुंच प्रदान करती है। एडमिन कैशियर प्रबंधित कर सकते हैं, सभी रिपोर्ट देख सकते हैं, सेटिंग्स संशोधित कर सकते हैं और कोई भी ऑपरेशन कर सकते हैं। यह भूमिका कैफे मालिकों और वरिष्ठ प्रबंधकों के लिए है जिन्हें पूर्ण नियंत्रण की आवश्यकता है।
सिस्टम में हमेशा कम से कम एक एडमिन अकाउंट होता है। एडमिन भूमिका को हटाया नहीं जा सकता या इसकी अनुमतियां कम नहीं की जा सकतीं।
डिफ़ॉल्ट
डिफ़ॉल्ट भूमिका में कोई विशेष अनुमतियां नहीं सौंपी जाती हैं। डिफ़ॉल्ट भूमिका वाला कैशियर लॉगिन कर सकता है और बुनियादी ऑपरेशन कर सकता है लेकिन सदस्य प्रबंधन, रिपोर्टिंग या कंसोल कॉन्फ़िगरेशन जैसे प्रतिबंधित क्षेत्रों तक पहुंच नहीं प्राप्त कर सकता। नए कर्मचारियों के लिए इसे प्रारंभिक बिंदु के रूप में उपयोग करें जिन्हें केवल बुनियादी कार्य संभालने हैं।
कस्टम
कस्टम भूमिकाएं आपको यह परिभाषित करने की अनुमति देती हैं कि कैशियर के पास कौन सी अनुमतियां हैं। आप एक नाम चुनते हैं, एक स्तर सेट करते हैं, और फिर छह श्रेणियों में व्यक्तिगत अनुमति फ्लैग चेक या अनचेक करते हैं। यह प्रत्येक कर्मचारी को क्या एक्सेस करना है इस पर सूक्ष्म नियंत्रण देता है।
अनुमति श्रेणियां
HandyCafe में 6 श्रेणियों में व्यवस्थित 22 व्यक्तिगत अनुमति फ्लैग हैं। प्रत्येक फ्लैग सिस्टम में एक विशिष्ट एक्शन या व्यू को नियंत्रित करता है।
1. प्रमाणीकरण (1 फ्लैग)
| फ्लैग | विवरण |
|---|---|
| CLIENT_LOGIN | कैशियर को क्लाइंट PC में लॉगिन करने (ग्राहकों की ओर से सत्र शुरू करने) की अनुमति देता है |
इस अनुमति के बिना, कैशियर क्लाइंट सत्र शुरू या प्रबंधित नहीं कर सकता।
2. सदस्य (6 फ्लैग)
| फ्लैग | विवरण |
|---|---|
| VIEW | सदस्य सूची और सदस्य विवरण देखें |
| ADD | नए सदस्य अकाउंट बनाएं |
| DELETE | सिस्टम से सदस्य अकाउंट हटाएं |
| UPDATE | मौजूदा सदस्य जानकारी (नाम, बैलेंस आदि) संपादित करें |
| DISPLAY_EMAIL | सदस्य सूची में सदस्य ईमेल एड्रेस देखें |
| DISPLAY_GSM | सदस्य सूची में सदस्य फोन नंबर देखें |
केवल VIEW वाला कैशियर सदस्य सूची ब्राउज़ कर सकता है लेकिन किसी सदस्य को बना, संपादित या हटा नहीं सकता। DISPLAY_EMAIL और DISPLAY_GSM फ्लैग नियंत्रित करते हैं कि संवेदनशील संपर्क जानकारी दिखाई दे या नहीं। यह गोपनीयता अनुपालन के लिए उपयोगी है जहां सभी कर्मचारियों को व्यक्तिगत डेटा नहीं देखना चाहिए।
3. कंसोल (4 फ्लैग)
| फ्लैग | विवरण |
|---|---|
| VIEW | कंसोल पेज और कंसोल स्थिति कार्ड देखें |
| ADD | सिस्टम में नए गेमिंग कंसोल पंजीकृत करें |
| DELETE | सिस्टम से कंसोल हटाएं |
| UPDATE | कंसोल विवरण (नाम, MAC एड्रेस, मूल्य निर्धारण) संपादित करें |
4. लॉग (4 फ्लैग)
| फ्लैग | विवरण |
|---|---|
| VIEW | लॉग पेज एक्सेस करें |
| DISPLAY_FULL | पूर्ण लॉग इतिहास (सभी तिथियां) देखें |
| DISPLAY_TODAY | केवल आज की लॉग प्रविष्टियां देखें |
| DELETE | लॉग प्रविष्टियां हटाएं |
यदि किसी कैशियर के पास VIEW और DISPLAY_TODAY है लेकिन DISPLAY_FULL नहीं, तो वे केवल वर्तमान दिन की लॉग प्रविष्टियां देख सकते हैं। यह शिफ्ट पर्यवेक्षकों के लिए उपयोगी है जिन्हें ऐतिहासिक रिकॉर्ड तक पहुंच के बिना वर्तमान गतिविधि की निगरानी करनी है।
5. रिपोर्ट (3 फ्लैग)
| फ्लैग | विवरण |
|---|---|
| PAGE_VIEW | रिपोर्ट/कैश रिपोर्ट पेज एक्सेस करें |
| DISPLAY_FULL | पूर्ण रिपोर्ट इतिहास (सभी तिथियां) देखें |
| DISPLAY_TODAY | केवल आज का रिपोर्ट डेटा देखें |
लॉग के समान, रिपोर्ट अनुमतियां आपको नियंत्रित करने देती हैं कि कर्मचारी पूर्ण वित्तीय इतिहास देख सकते हैं या केवल वर्तमान दिन के आंकड़े। PAGE_VIEW और 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 |
अनुमतियां कैसे काम करती हैं
प्रत्येक अनुमति श्रेणी में व्यक्तिगत अनुमति फ्लैग का एक सेट है। प्रत्येक फ्लैग को भूमिका संपादक में चेकबॉक्स का उपयोग करके स्वतंत्र रूप से सक्षम या अक्षम किया जा सकता है।
UI प्रत्येक अनुमति के लिए चेकबॉक्स प्रदान करता है। जो अनुमतियां आप देना या रद्द करना चाहते हैं उन्हें बस चेक या अनचेक करें। सिस्टम अंतर्निहित संग्रहण को स्वचालित रूप से संभालता है -- आपको मैन्युअल रूप से किसी मान की गणना करने की आवश्यकता नहीं है।
उदाहरण के लिए, सदस्य श्रेणी में आप स्वतंत्र रूप से सक्षम या अक्षम कर सकते हैं: VIEW, ADD, DELETE, UPDATE, DISPLAY_EMAIL, और DISPLAY_GSM। केवल VIEW और UPDATE चेक किए गए कैशियर सदस्यों को देख और संपादित कर सकते हैं, लेकिन उन्हें जोड़ या हटा नहीं सकते।
कैशियर अकाउंट बनाना
- सर्वर एप्लिकेशन में प्रबंधन > कैशियर पर जाएं।
- कैशियर जोड़ें बटन पर क्लिक करें।
- कैशियर का यूज़रनेम दर्ज करें। इसी का उपयोग वे लॉगिन के लिए करेंगे।
- एक पासवर्ड सेट करें। एक मजबूत पासवर्ड चुनें। इस अकाउंट की वित्तीय डेटा और ग्राहक जानकारी तक पहुंच हो सकती है।
- ड्रॉपडाउन से एक भूमिका चुनें। आप एडमिन, डिफ़ॉल्ट, या आपके द्वारा बनाई गई कोई भी कस्टम भूमिका चुन सकते हैं।
- अकाउंट बनाने के लिए सहेजें पर क्लिक करें।
नया कैशियर अब अपने क्रेडेंशियल का उपयोग करके HandyCafe सर्वर में लॉगिन कर सकता है।
कस्टम भूमिका बनाना
- सर्वर एप्लिकेशन में प्रबंधन > कैशियर भूमिकाएं पर जाएं।
- भूमिका जोड़ें बटन पर क्लिक करें।
- एक भूमिका नाम दर्ज करें (जैसे, "शिफ्ट पर्यवेक्षक", "जूनियर कैशियर", "रात्रि कर्मचारी")।
- भूमिका स्तर सेट करें। उच्च स्तर अधिक अधिकार दर्शाते हैं। इसका उपयोग प्रदर्शन क्रम और संगठनात्मक पदानुक्रम के लिए किया जाता है।
- सभी छह श्रेणियों में व्यक्तिगत अनुमतियां चेक या अनचेक करें। प्रत्येक चेकबॉक्स 22 अनुमति सेटिंग्स में से एक से मेल खाता है।
- भूमिका बनाने के लिए सहेजें पर क्लिक करें।
बनाने के बाद, आप इस भूमिका को किसी भी कैशियर अकाउंट को सौंप सकते हैं।
बैकएंड प्रवर्तन
अनुमतियां सर्वर साइड पर लागू होती हैं, केवल UI में छुपाई नहीं जातीं। भले ही कोई क्लाइंट इंटरफेस को बायपास करे या फ्रंटएंड कोड में हेरफेर करे, सर्वर हर अनुरोध को निष्पादित करने से पहले कैशियर की भूमिका अनुमतियों के विरुद्ध मान्य करता है।
इसका अर्थ है:
- MEMBER_DELETE के बिना कैशियर किसी सदस्य को हटा नहीं सकता, सीधे API अनुरोध भेजकर भी नहीं।
- REPORT_DISPLAY_FULL के बिना कैशियर ऐतिहासिक रिपोर्ट डेटा प्राप्त नहीं कर सकता, चाहे वे सिस्टम तक कैसे भी पहुंचें।
- सभी अनुमति जांच Rust बैकएंड में कोई भी डेटाबेस ऑपरेशन करने से पहले होती हैं।
सुरक्षा: दर सीमित करना
ब्रूट-फोर्स हमलों से बचाव के लिए, HandyCafe लॉगिन दर सीमित करना लागू करता है:
- 10 मिनट की अवधि में 5 विफल लॉगिन प्रयास स्वचालित लॉकआउट ट्रिगर करते हैं।
- लॉकआउट 15 मिनट तक रहता है, जिस दौरान उस अकाउंट के लिए कोई लॉगिन प्रयास स्वीकार नहीं किए जाते।
- लॉकआउट अवधि समाप्त होने के बाद, कैशियर फिर से प्रयास कर सकता है।
यह सर्वर लॉगिन स्क्रीन और क्लाइंट 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 अक्षम के साथ भूमिका बनाएं। वे नाम से सदस्य खोज सकते हैं लेकिन व्यक्तिगत संपर्क जानकारी छिपी रहती है।