HandyCafe Docs
owner

บทบาทและสิทธิ์แคชเชียร์

HandyCafe ใช้การควบคุมการเข้าถึงตามบทบาท (RBAC) เพื่อจัดการว่าพนักงานแต่ละคนสามารถดูและทำอะไรได้ภายในระบบ แคชเชียร์ทุกคนจะได้รับบทบาทและบทบาทนั้นกำหนดสิทธิ์ที่แน่นอนทั่วทั้งแอปพลิเคชัน


ประเภทบทบาท

HandyCafe มีบทบาท 3 ประเภท:

แอดมิน

บทบาทแอดมินให้สิทธิ์เข้าถึงทุกฟีเจอร์ในระบบโดยไม่จำกัด แอดมินสามารถจัดการแคชเชียร์ ดูรายงานทั้งหมด แก้ไขการตั้งค่า และดำเนินการใดก็ได้ บทบาทนี้เหมาะสำหรับเจ้าของร้านคาเฟ่และผู้จัดการอาวุโสที่ต้องการการควบคุมเต็มรูปแบบ

ระบบจะมีบัญชีแอดมินอย่างน้อยหนึ่งบัญชีเสมอ บทบาทแอดมินไม่สามารถลบหรือลดสิทธิ์ได้

ค่าเริ่มต้น

บทบาทค่าเริ่มต้นไม่มีสิทธิ์พิเศษ แคชเชียร์ที่มีบทบาทค่าเริ่มต้นสามารถเข้าสู่ระบบและดำเนินการพื้นฐานแต่ไม่สามารถเข้าถึงพื้นที่ที่จำกัด เช่น การจัดการสมาชิก การรายงาน หรือการกำหนดค่าคอนโซล ใช้เป็นจุดเริ่มต้นสำหรับพนักงานใหม่ที่ต้องจัดการงานพื้นฐานเท่านั้น

กำหนดเอง

บทบาทกำหนดเองช่วยให้คุณกำหนดสิทธิ์ที่แคชเชียร์มีได้อย่างแม่นยำ คุณตั้งชื่อ กำหนดระดับ แล้วเลือกหรือยกเลิกแฟล็กสิทธิ์แต่ละรายการใน 6 หมวดหมู่ ให้การควบคุมที่ละเอียดว่าพนักงานแต่ละคนสามารถเข้าถึงอะไร


หมวดหมู่สิทธิ์

HandyCafe มีแฟล็กสิทธิ์ 22 รายการจัดเป็น 6 หมวดหมู่ แฟล็กแต่ละรายการควบคุมการดำเนินการหรือมุมมองเฉพาะภายในระบบ

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 address การตั้งราคา)

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 จะสามารถดูและแก้ไขสมาชิกได้ แต่ไม่สามารถเพิ่มหรือลบได้


การสร้างบัญชีแคชเชียร์

  1. ไปที่ การจัดการ > แคชเชียร์ ในแอปพลิเคชันเซิร์ฟเวอร์
  2. คลิกปุ่ม เพิ่มแคชเชียร์
  3. ป้อน ชื่อผู้ใช้ ของแคชเชียร์ ซึ่งเป็นสิ่งที่ใช้เข้าสู่ระบบ
  4. ตั้ง รหัสผ่าน เลือกรหัสผ่านที่แข็งแกร่ง บัญชีนี้อาจเข้าถึงข้อมูลทางการเงินและข้อมูลลูกค้า
  5. เลือก บทบาท จากรายการเลื่อนลง คุณสามารถเลือกแอดมิน ค่าเริ่มต้น หรือบทบาทกำหนดเองที่คุณสร้าง
  6. คลิก บันทึก เพื่อสร้างบัญชี

แคชเชียร์ใหม่สามารถเข้าสู่ระบบเซิร์ฟเวอร์ HandyCafe ด้วยข้อมูลประจำตัวได้ทันที


การสร้างบทบาทกำหนดเอง

  1. ไปที่ การจัดการ > บทบาทแคชเชียร์ ในแอปพลิเคชันเซิร์ฟเวอร์
  2. คลิกปุ่ม เพิ่มบทบาท
  3. ป้อน ชื่อบทบาท (เช่น "หัวหน้ากะ", "แคชเชียร์ระดับต้น", "พนักงานกะดึก")
  4. ตั้ง ระดับบทบาท ระดับสูงกว่าบ่งบอกอำนาจมากกว่า ใช้สำหรับการเรียงลำดับการแสดงผลและลำดับชั้นองค์กร
  5. เลือกหรือยกเลิกสิทธิ์แต่ละรายการใน 6 หมวดหมู่ กล่องเลือกแต่ละอันสอดคล้องกับการตั้งค่าสิทธิ์ 22 รายการ
  6. คลิก บันทึก เพื่อสร้างบทบาท

เมื่อสร้างแล้ว คุณสามารถกำหนดบทบาทนี้ให้กับบัญชีแคชเชียร์ใดก็ได้


การบังคับใช้ฝั่งเซิร์ฟเวอร์

สิทธิ์ถูกบังคับใช้ฝั่งเซิร์ฟเวอร์ ไม่ใช่แค่ซ่อนใน UI แม้มีคนข้ามส่วนติดต่อไคลเอนต์หรือแก้ไขโค้ดส่วนหน้า เซิร์ฟเวอร์จะตรวจสอบทุกคำขอเทียบกับสิทธิ์บทบาทของแคชเชียร์ก่อนดำเนินการ

ซึ่งหมายความว่า:

  • แคชเชียร์ที่ไม่มี MEMBER_DELETE ไม่สามารถลบสมาชิกได้ แม้จะส่งคำขอ API โดยตรง
  • แคชเชียร์ที่ไม่มี REPORT_DISPLAY_FULL ไม่สามารถดึงข้อมูลรายงานย้อนหลังได้ ไม่ว่าจะเข้าถึงระบบอย่างไร
  • การตรวจสอบสิทธิ์ทั้งหมดเกิดขึ้นในแบ็กเอนด์ Rust ก่อนดำเนินการฐานข้อมูลใด

ความปลอดภัย: การจำกัดอัตรา

เพื่อป้องกันการโจมตีแบบเดารหัสผ่าน HandyCafe บังคับใช้การจำกัดอัตราการเข้าสู่ระบบ:

  • ล้มเหลว 5 ครั้ง ภายใน 10 นาที จะเริ่มการล็อกอัตโนมัติ
  • การล็อกกิน 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 สามารถค้นหาสมาชิกตามชื่อแต่ข้อมูลติดต่อส่วนบุคคลจะถูกซ่อน