ตอน MVP อาจแค่แยก "Admin กับ User ธรรมดา". แต่พอใช้จริง องค์กรจะเริ่มขอสิทธิ์ แบบละเอียดยิบ — และถ้าทำเป็น SaaS ขายหลายบริษัท งานยิ่งใหญ่ขึ้นอีกขั้น
สำหรับคนที่ทำระบบให้องค์กร หรือคิดทำ SaaS/Subscription ขาย — จะได้เห็นว่างานคุมสิทธิ์และแยกข้อมูลลูกค้าซับซ้อนแค่ไหน
พอใช้จริง องค์กรจะขอสิทธิ์ละเอียด เช่น "คนนี้ดูรายงานได้แต่ห้ามแก้", "คนนี้กด Approve ได้เท่านั้น". การเขียน Logic คุมสิทธิ์พวกนี้ ยิบย่อยและซับซ้อนมาก — เพราะต้องคุมทุกหน้า ทุกปุ่ม ว่าใครทำอะไรได้บ้าง
| Role | ดูรายงาน | แก้ข้อมูล | อนุมัติส่วนลด | ตั้งค่าระบบ |
|---|---|---|---|---|
| เจ้าของ | ✓ | ✓ | ✓ | ✓ |
| ผู้จัดการ | ✓ | ✓ | ✓ | ✗ |
| บัญชี | ✓ | ✓ | ✗ | ✗ |
| พนักงานขาย | ✓ | ✗ | ✗ | ✗ |
ตารางนี้คือหน้าตาจริงของ RBAC — ทุกช่อง ✓/✗ คือ logic ที่ต้องเขียนและทดสอบ. ยิ่งมี role เยอะ มีหน้าจอเยอะ ตารางนี้ยิ่งบาน นี่คือเหตุผลที่งานคุมสิทธิ์กินเวลามากกว่าที่คิด
ถ้าทำ SaaS ขายหลายบริษัท นี่คืองานช้าง — ต้องเขียน Data Isolation ไม่ให้ข้อมูลลูกค้าแต่ละบริษัทปนกันเด็ดขาด. บริษัท A ต้องไม่มีทางเห็นข้อมูลบริษัท B แม้แต่นิดเดียว เรื่องนี้พลาดไม่ได้เลย
ออเดอร์ทั้งหมด โดยลืมระบุว่าบริษัทไหน → บริษัท A เห็นออเดอร์ของบริษัท B รั่วทันที. แค่ลืมเงื่อนไขเดียวในที่เดียวก็จบtenant_id + เปิด Row-Level Security ที่ฐานข้อมูลเป็นกำแพงชั้นสอง — ต่อให้โค้ดพลาด ฐานข้อมูลก็ยังกั้นให้ระบบ Subscription ต้อง คุมโควต้าการใช้งานตาม Tier (Free, Pro, Enterprise ใช้ได้ไม่เท่ากัน) และมี ระบบ Billing — ต่ออายุอัตโนมัติ, ตัดบัตรเครดิต, ออกใบเสร็จ. ทั้งหมดนี้ต้องแม่นยำเรื่องเงิน เลยพลาดไม่ได้
AI ช่วยร่าง Logic สิทธิ์และโครงระบบ Billing ได้ แต่เรื่อง การแยกข้อมูลลูกค้าและการคิดเงิน "พลาดไม่ได้" — ต้องมีคนตรวจอย่างเข้มงวด เพราะถ้าข้อมูลลูกค้าปนกันหรือคิดเงินผิด กระทบความเชื่อใจและกฎหมายทันที
ช่วยออกแบบระบบสิทธิ์ (RBAC) ให้ระบบ [ชื่อระบบของฉัน] - role ที่มี: เจ้าของ, ผู้จัดการ, บัญชี, พนักงานขาย - ทำตารางว่าแต่ละ role ทำอะไรได้/ไม่ได้ ในแต่ละหน้า - เช็คสิทธิ์ฝั่งเซิร์ฟเวอร์ทุก endpoint ไม่ใช่แค่ซ่อนปุ่ม - ถ้าเป็น SaaS หลายบริษัท ให้กรองทุก query ด้วย tenant_id และเปิด Row-Level Security แล้วบอกจุดที่พลาดบ่อยให้ฉันตรวจด้วย
| RBAC | คุมสิทธิ์ละเอียด ใครทำอะไรได้ |
| Multi-Tenant | แยกข้อมูลลูกค้าแต่ละบริษัท |
| Billing | โควต้า Tier · ต่ออายุ · ตัดบัตร |
| AI ช่วย | ร่างได้ · ความถูกต้องคนคุม |