Skip to content

การกำหนดสิทธิ์ผู้ใช้ (Per-Module Permissions)

หนึ่งใน feature สำคัญที่สุดของ WMS — ความสามารถในการ "ปรับสิทธิ์รายโมดูล" ของผู้ใช้แต่ละคน

ทบทวน: 3-tier Permission System

Tier 1: Role

Tier 2: Module Access (Read / Write)

Tier 3: Specific Action

ตัวอย่าง:

  • Role = Manager → กำหนดเพดานสิทธิ์
  • Module Access = "Users: Read only" → Override Role default
  • Action = "Reset Password" → ต้องมี Action permission แยก

Role Hierarchy

SuperAdmin   ← มีทุกอย่าง

Admin        ← มีเกือบทุกอย่าง (ยกเว้น Delete Tenant)

Manager      ← จัดการคลังที่ดูแล

Supervisor   ← คุมงานกะ

Operator     ← ทำงานคลัง

Viewer       ← อ่านอย่างเดียว

ดู Role Hierarchy (Reference)


Use Case 1 — "ให้ Manager เข้าได้แค่ Users + Audit"

โจทย์: มี Manager คนหนึ่ง ดูแลเรื่อง HR ไม่ต้องยุ่งงานคลัง — ให้เข้าได้แค่จัดการ Users + ดู Audit

ขั้นตอน

  1. เข้า Admin Portal → Sidebar → Users
  2. ค้นชื่อ Manager คนนี้ → กดเปิด
  3. ที่ Tab Role & Access:
    • Role: ยังคงเป็น Manager (เพราะต้องมี Manager-level approvals)
  4. ที่ Tab Per-Module Permissions — Override:
ModuleReadWrite
Master Data — Items
Master Data — Locations
Master Data — Warehouses
Inbound (ASN, GRN, Putaway)
Outbound (Orders, Waves, Picks)
Inventory (Stock, Movements)
Adjustments
Returns (RMA)
Approvals
Admin — Users
Admin — Audit Logs
Admin — Roles
Admin — WMS Settings
  1. กด Save

ผลลัพธ์

  • User คนนี้ Login เห็นแค่ Admin Portal
  • Sidebar เห็นแค่ 2 เมนู: Users, Audit Logs
  • ใน Users — เพิ่ม / แก้ไข User ได้
  • ใน Audit — อ่านได้แต่ Export ไม่ได้

Save เป็น Template ไว้ใช้ซ้ำ

ถ้ามี HR Manager หลายคน → สร้างเป็น Permission Template ชื่อ "HR Manager" → next User ใช้ Template ได้เลย


Use Case 2 — "Viewer ที่เห็นเฉพาะ Stock"

โจทย์: ผู้บริหารต้องการดู Stock อย่างเดียว ไม่ต้องเห็นข้อมูลอื่น

ขั้นตอน

  1. สร้าง User ใหม่ (หรือเลือกที่มีอยู่)
  2. Tab Role & Access:
    • Role: Viewer
  3. Tab Per-Module Permissions:
ModuleReadWrite
Dashboard
Master Data — Items
Inbound
Outbound
Inventory — Stock
Inventory — Movements
Inventory — Adjustments
Returns
Approvals
Admin Portal
  1. Assigned Warehouses — เลือกเฉพาะคลังที่ดูได้
  2. Save

ผลลัพธ์

  • User Login → เห็นแค่ Dashboard + Stock
  • ใน Stock — กรอง / Search / Export ได้ แต่แก้ไขไม่ได้
  • เข้าไม่ได้ Admin Portal

Use Case 3 — "Operator ที่ทำได้แค่ Pick"

โจทย์: พนักงานกะกลางคืน หยิบสินค้าอย่างเดียว ไม่ต้องการให้ทำอย่างอื่น

ขั้นตอน

  1. User → Role: Operator
  2. Per-Module:
ModuleReadWrite
Dashboard
Outbound — Pick Tasks
Outbound — Orders
Outbound — Waves
Outbound — Shipments
Inbound
Inventory
Returns
Approvals

ผลลัพธ์

  • เห็นเฉพาะ Pick Tasks ของตัวเอง
  • ไม่เห็น Orders / Waves
  • เข้าไม่ได้โมดูลอื่น

ข้อควรรู้

Permissions ที่ห้าม Override

  • Audit Log — แม้จะปิด ทุก action ของ User คนนี้ก็ยังถูกบันทึก
  • 2FA Required — ถ้า Role บังคับ 2FA จะ override ไม่ได้

การเปลี่ยน Role

  • ถ้า เลื่อน Role (เช่น Operator → Supervisor) — Permissions ปัจจุบันคงไว้
  • ถ้าต้องการ Reset → กด Reset to Role Default

Apply Template ทับ

  • เมื่อ Apply Template → Permissions ทั้งหมดถูก overwrite ตาม Template
  • ระบบจะ warn ก่อน

Audit Trail

ทุกการเปลี่ยน Permission ถูกบันทึก:

  • ใครเปลี่ยน
  • เปลี่ยนของใคร
  • ก่อน → หลัง
  • เมื่อไหร่

ดูใน Audit Logs

หน้าที่เกี่ยวข้อง

เผยแพร่ภายใต้ Digital Outsourcing