Auth & สิทธิ์ · สำหรับมือใหม่

ใครเข้าได้ ใครทำอะไรได้

ประตูหน้าของทุกระบบ — ยืนยันว่าเป็นใคร (login) แล้วกั้นว่าทำอะไรได้บ้าง (สิทธิ์). ทำพลาดตรงนี้ พนักงานเห็นเงินเดือนคนอื่น หรือบริษัทหนึ่งเห็นข้อมูลอีกบริษัท. ซ้ายอธิบาย ขวาเป็นตัวอย่างหน้าจอจริง

Auth คืออะไร แยกเป็น 2 เรื่อง

1) ยืนยันตัวตน (Authentication)= "คุณเป็นใคร" — login เข้าระบบ.   2) สิทธิ์ (Authorization)= "คุณทำอะไรได้" — เห็นเมนูไหน แก้ได้/ลบได้/อนุมัติได้ไหม. คนละเรื่องกัน: login ผ่านแล้วไม่ได้แปลว่าทำได้ทุกอย่าง. หน้านี้ไล่จากเข้าระบบ → บทบาท → สิทธิ์ละเอียด → หลายบริษัท → กฎความปลอดภัยพื้นฐาน

login / เข้าระบบบทบาทสิทธิ์รายเมนูหลายบริษัทความปลอดภัย
login / ยืนยันตัวตน authentication

ประตูเข้าระบบ — มี 2 แบบให้เลือกตามคน: เจ้าของ/แอดมินเข้าด้วย username + รหัสผ่าน (มีสิทธิ์เยอะ ต้องการความปลอดภัยสูง). พนักงานทั่วไปเข้าผ่าน LINE ได้เลย — ไม่ต้องจำรหัส ไม่ต้องออกรหัสให้ (กดจาก LINE ที่ใช้อยู่แล้ว)

ตัวอย่างจริงร้านมีพนักงาน 15 คน ไม่ต้องตั้งรหัสผ่านให้ทุกคน (ลืมรหัส/รหัสรั่ว). ให้พนักงาน กดลิงก์จาก LINE แล้วเข้าหน้าเช็คชื่อได้เลย— ระบบรู้เองว่าเป็นใครจาก LINE ที่ผูกไว้
ใช้เมื่อ
เจ้าของ/แอดมิน/บัญชี → username+password· พนักงานหน้างาน → เข้าผ่าน LINE(ไม่มีรหัส)
ระวัง
อย่าใช้รหัสผ่านร่วมกันทั้งร้าน — ตามรอยไม่ได้ว่าใครทำ. ออก account แยกรายคนเสมอ
เข้าสู่ระบบ
เข้าสู่ระบบเจ้าของ/แอดมิน
เข้าสู่ระบบ
— หรือ พนักงานเข้าผ่าน —
เข้าด้วย LINE (ไม่ต้องมีรหัส)
บทบาท role

แทนที่จะตั้งสิทธิ์ทีละคน (เหนื่อย+พลาดง่าย) เราจัด "กลุ่ม" ตามหน้าที่ เรียกว่า บทบาทแล้วแค่กำหนดว่าแต่ละคนเป็นบทบาทไหน. เหมือน "ตำแหน่งงาน"— ตำแหน่งเดียวกันได้สิทธิ์เหมือนกันอัตโนมัติ

ตัวอย่างจริงจ้างพนักงานใหม่ 3 คน ไม่ต้องตั้งสิทธิ์ทีละข้อ — แค่เลือกบทบาท "พนักงาน"ให้ทั้ง 3 คน ก็ได้สิทธิ์ชุดเดียวกันทันที (เห็นงานตัวเอง เช็คชื่อ ไม่เห็นการเงิน)
ใช้เมื่อ
ตั้ง 4-5 บทบาทพอ ครอบคลุมคนส่วนใหญ่ · มีคนพิเศษค่อยปรับสิทธิ์รายคนทีหลัง
ระวัง
อย่าให้ทุกคนเป็น "เจ้าของ" เพราะขี้เกียจตั้ง — สิทธิ์ล้นเกินจำเป็น = เสี่ยง
ตั้งค่า · บทบาท
L5เจ้าของ
เห็นทุกอย่าง· ตั้งค่าระบบ · จัดการสิทธิ์ · ดูการเงินทั้งหมด
L4ผู้จัดการ
ดูแลงานเกือบทุกส่วน · อนุมัติได้ · เห็นการเงิน
L3หัวหน้างาน
คุมงาน/มอบหมาย · อนุมัติในวงเงิน · ไม่เห็นเงินเดือนคนอื่น
L2พนักงาน
เห็นเฉพาะงานตัวเอง· เช็คชื่อ · ไม่เห็นการเงิน
L1ภายนอก
เช่นบัญชีนอก/ลูกค้า — เห็นเฉพาะส่วนที่เปิดให้เท่านั้น
สิทธิ์รายเมนู + รายการกระทำ RBAC

บทบาทกำหนด 2 ระดับ: เห็นเมนูไหน(เข้าหน้าการเงินได้ไหม) และในเมนูนั้น ทำอะไรได้— แค่ ดู/ แก้/ ลบ/ อนุมัติ. บางอย่างยังจำกัด วงเงินได้อีก เช่น หัวหน้าอนุมัติได้ไม่เกิน 5,000 บาท เกินกว่านั้นต้องผู้จัดการ

ตัวอย่างจริงพนักงานคลังเปิดหน้าสต๊อกได้ ดู+แก้ยอดได้แต่ ลบสินค้าไม่ได้(ปุ่มลบจาง). ส่วนการ "อนุมัติปรับสต๊อก" ต้องให้หัวหน้ากด — ป้องกันการแก้ตัวเลขลับ ๆ
ใช้เมื่อ
แยก "ดู" ออกจาก "แก้/ลบ" เสมอ · งานเงิน/ลบของ ต้องมีขั้น อนุมัติ+ จำกัดวงเงิน
สิทธิ์ · เมนูการเงิน
บทบาทดูแก้ลบอนุมัติ
เจ้าของ
ผู้จัดการ
หัวหน้างาน≤5พัน
พนักงาน
ภายนอก
ทำได้ · ทำไม่ได้ (ปุ่มจาง) · ≤5พัน= อนุมัติได้ในวงเงิน
หลายบริษัท multi-tenant

ระบบ 1 ตัว ให้บริการ หลายบริษัทได้ โดยข้อมูลแต่ละบริษัท แยกขาด 100%— บริษัท A ห้ามเห็นลูกค้า/ยอดขาย/พนักงานของบริษัท B เด็ดขาด. ใครดูแลหลายบริษัทก็ สลับไปมาได้ในที่เดียว ไม่ต้อง login ใหม่

ตัวอย่างจริงนักบัญชีดูแล 3 บริษัท — เปิดระบบเดียว สลับบริษัทได้จากมุมบน. ตอนอยู่บริษัท A จะเห็นเฉพาะข้อมูล A; กดสลับไป B ทุกหน้าจะเปลี่ยนเป็นของ B ทันที ไม่มีทางหลุดข้ามกัน
ใช้เมื่อ
มีหลายร้าน/หลายนิติบุคคล · ทุก query ต้องกรอง company_idเสมอ ไม่มีข้อยกเว้น
ระวัง
ลืมกรอง company_id แค่หน้าเดียว = ข้อมูลรั่วข้ามบริษัท — บั๊กที่ร้ายแรงที่สุดของ multi-tenant
สลับบริษัท
คุณดูแล 3 บริษัท
A
บจก. เอ เทรดดิ้ง
กำลังใช้งานอยู่
B
บจก. บี ฟู้ดส์
คลิกเพื่อสลับ
C
หจก. ซี เซอร์วิส
คลิกเพื่อสลับ
A | B
ข้อมูลแยกกำแพง — A ไม่เห็นข้อมูล Bและกลับกัน. แม้แต่ admin ก็เห็นได้เฉพาะบริษัทที่กำลังเปิดอยู่
ความปลอดภัยพื้นฐานของ auth security basics

ไม่ต้องเป็นผู้เชี่ยวชาญความปลอดภัย — แค่ทำ 3 กฎพื้นฐานก็กันพลาดได้ 90%: อย่าออกรหัสผ่านให้พนักงาน (ให้เข้า LINE), reset รหัสด้วยการ ส่งลิงก์ให้ตั้งเอง(ไม่บอกรหัสในแชต), และ ปิดสิทธิ์ทันทีเมื่อมีคนลาออก

ตัวอย่างจริงพนักงานลาออกเมื่อวาน แต่ account ยังเปิดอยู่ → เข้าระบบดูข้อมูลลูกค้าได้. ระบบที่ดี พอกดสถานะ "พ้นสภาพ" จะ บล็อกการเข้าทันที+ รวบงานค้างส่งต่อให้คนอื่น
อย่า
ส่งรหัสผ่านทาง LINE/แชต · ใช้ account ร่วมกัน · ลืมปิดสิทธิ์คนลาออก · เก็บรหัสเป็น text ตรง ๆ
✗ แบบเสี่ยง
  • ตั้งรหัสให้พนักงานแล้วส่งทาง LINE
  • ทั้งร้านใช้ account เดียวกัน
  • คนลาออกแล้ว account ยังเปิด
  • reset รหัสโดยพิมพ์รหัสใหม่ให้ในแชต
✓ แบบปลอดภัย
  • พนักงานเข้าผ่าน LINE — ไม่มีรหัสให้รั่ว
  • account แยกรายคน ตามรอยได้ว่าใครทำ
  • ลาออก → กด "พ้นสภาพ" บล็อกทันที
  • reset = ส่งลิงก์ให้เจ้าตัวตั้งรหัสเอง

เอาไปใช้จริง: เช็ก 8 ข้อก่อนเปิดระบบ + พรอมต์ก๊อปวาง

ก่อนเปิดให้คนเข้าใช้ ไล่เช็กลิสต์ฝั่งซ้ายให้ครบ. ฝั่งขวาคือพรอมต์ที่ คัดลอกไปวางให้ Claude Code ได้เลย เพื่อวางโครง auth ให้ถูกตั้งแต่แรก ไม่ต้องมาแก้ทีหลัง

เช็กก่อน go-live
  • ทุกคนมี account แยกรายคน — ไม่มี login ร่วม
  • พนักงานหน้างานเข้าผ่าน LINE ไม่ต้องออกรหัสให้
  • ตั้ง 4-5 บทบาท พอ ไม่ตั้งสิทธิ์ทีละคน
  • แยก "ดู" ออกจาก "แก้/ลบ" ในเมนูเงิน/สต๊อก
  • งานเงิน/ลบของ มีขั้น อนุมัติ + จำกัดวงเงิน
  • หลายบริษัท: ทุก query กรอง company_id ครบทุกหน้า
  • มีปุ่ม "พ้นสภาพ" ที่บล็อกการเข้าทันที
  • reset รหัส = ส่งลิงก์ให้ตั้งเอง ไม่พิมพ์รหัสในแชต
พรอมต์สั่ง Claude Code
ช่วยวางระบบ auth ให้ร้านผม:
- login 2 ทาง: เจ้าของ/แอดมิน ใช้ username+password,
  พนักงานเข้าผ่าน LINE (ไม่ต้องมีรหัส)
- บทบาท 5 ระดับ: เจ้าของ / ผู้จัดการ / หัวหน้างาน /
  พนักงาน / ภายนอก
- สิทธิ์รายเมนู แยก ดู/แก้/ลบ/อนุมัติ
- หัวหน้างานอนุมัติได้ไม่เกิน 5,000 บาท
- รองรับหลายบริษัท ทุก query กรอง company_id
- มีปุ่ม "พ้นสภาพ" บล็อกการเข้าทันที
ทำตารางสิทธิ์ให้ดูก่อน แล้วค่อยลงมือ
ปรับตัวเลข/ชื่อบทบาทให้ตรงกับร้านคุณ แล้ววางในแชต Claude Code

สรุป: ใครควรได้สิทธิ์แบบไหน

เจ้าของ / ผู้จัดการusername+รหัส · เห็นทุกอย่าง + การเงิน
หัวหน้างานคุมงาน · อนุมัติในวงเงิน · ไม่เห็นเงินเดือน
พนักงานหน้างานเข้าผ่าน LINE · เห็นเฉพาะงานตัวเอง
บัญชีนอก / ลูกค้า (ภายนอก)เห็นเฉพาะส่วนที่เปิดให้
หลายบริษัทกรอง company_id ทุกหน้า · แยกขาด 100%
คนลาออกปิดสิทธิ์ทันที + รวบงานส่งต่อ
กลับห้องสมุดออกแบบ

อ่านต่อ — เรื่องที่เกี่ยวข้อง

ความปลอดภัย กันข้อมูลรั่ว จัดการ + เชื่อมโยงข้อมูล Deploy ขึ้นออนไลน์ จัดการ Error + ตรวจฟอร์ม