Skip to content

การปรับสิทธิ์เพื่อแก้ "ไม่มีสิทธิ์"

คู่มือสำหรับ Admin ที่ต้องช่วยแก้ปัญหา "User ทำอะไรไม่ได้" / "User เห็น 403"

Diagnose ก่อน Fix

ขั้น 1: ฟังจาก User

ถามชัด:

  • "ทำอะไร?" — เช่น "กด Edit Item แล้ว 403"
  • "เห็นอะไร?" — Screenshot จะดีมาก
  • "ทำที่ไหน?" — Module ไหน Warehouse ไหน

ขั้น 2: เปิด Profile ของ User

  1. Admin Portal → Users → ค้นหา User
  2. ดู:
    • Role — เพดานสิทธิ์
    • Assigned Warehouses — Scope
    • Per-Module Permissions — Override

ขั้น 3: เทียบกับ Action ที่ User ทำ

ใช้ตารางนี้:

Actionต้องการอะไร
ดู ItemMaster Data — Items: Read
แก้ ItemMaster Data — Items: Read + Write
สร้าง GRNInbound: Read + Write
Confirm GRNInbound: Write + (อาจต้อง Supervisor)
Approve AdjustmentInventory: Write + Role ≥ Supervisor (หรือ Manager ถ้าใหญ่)
เข้า Admin PortalRole ≥ Admin (หรือ Manager จำกัด)
Delete UserAdmin Portal — Users: Write + Role ≥ Admin

ขั้น 4: ดู Audit Log

  • Audit Logs → Filter User + Time
  • ดูว่า error อะไรเกิดที่ time นั้น

Fix Recipes

Recipe 1: ให้ User เห็น Module ใหม่

1. User → Per-Module Permissions
2. ติ๊ก Read ที่ Module เป้าหมาย
3. Save
4. แจ้ง User Logout + Login ใหม่

Recipe 2: ให้ User แก้ไขได้

1. User → Per-Module Permissions
2. ติ๊ก Write ที่ Module
3. Save

Recipe 3: เพิ่ม Warehouse

1. User → Tab Role & Access
2. Assigned Warehouses → + Add Warehouse
3. เลือก
4. Save

Recipe 4: เปลี่ยน Role

1. User → Tab Role & Access
2. Role → เลือกใหม่
3. Save
4. ⚠️ Per-Module Permissions จะ Reset ตาม Role default
5. แก้ Per-Module ตามต้องการ (ถ้าจะ Override)

Recipe 5: Apply Template

1. User → Tab Role & Access
2. กด "Apply Template"
3. เลือก Template ที่เหมาะ
4. Permissions ถูก overwrite
5. Save

Recipe 6: User ที่ Approve ไม่ได้

ตรวจ:
1. Role ของ User ≥ ระดับที่ Approve ต้องการ?
   - Adjustment เล็ก → Supervisor
   - Adjustment ใหญ่ → Manager
2. Per-Module Permissions: Approvals = Read?
3. Warehouse ตรงกับเอกสาร?

แก้ตามจุดที่ขาด

หลังแก้แล้ว — Verify

วิธีให้ User ลอง

  1. แจ้ง User: "Logout แล้ว Login ใหม่" (สำคัญ!)
  2. ให้ User ลอง action เดิม
  3. ถ้ายัง 403 → กลับมา Diagnose ใหม่

เช็คจาก DevTools (เทคนิค)

ขอ User เปิด DevTools:

  1. F12 → Network
  2. ทำ action ที่ติด
  3. หา request 403
  4. ดู Response — มัก แสดง permission ที่ขาด

ตัวอย่าง:

json
{
  "statusCode": 403,
  "message": "Missing permission: inventory.adjustments.write"
}

Permission Patterns ที่พบบ่อย

Pattern: Read-only Manager

Role: Manager
Per-Module: ทุกอย่าง Read = ON, Write = OFF
Use case: External Manager ที่ดูได้แต่ห้ามแก้

Pattern: Pick-only Operator

Role: Operator
Per-Module:
  - Outbound Pick: RW
  - อื่น ๆ: OFF
Use case: Pure Picker คนเดียว

Pattern: Cycle Count Specialist

Role: Operator
Per-Module:
  - Inventory Cycle Counts: RW
  - Inventory Stock: R
  - อื่น ๆ: OFF
Use case: นับสต๊อกอย่างเดียว

Pattern: HR Manager

Role: Manager
Per-Module:
  - Admin Users: RW
  - Admin Audit: R
  - อื่น ๆ: OFF
Use case: HR จัดการ User ไม่ยุ่งงานคลัง

ป้องกัน — Best Practices

1. ใช้ Template ตั้งแต่แรก

อย่าตั้งทีละ User — ใช้ Template + Override เฉพาะที่จำเป็น

2. Test User ใหม่ก่อน Production

  • สร้าง User → Login ตัวเอง → ทดลอง action ที่ User ต้องทำ
  • ถ้าทำได้ครบ → ส่ง credential ให้ User จริง

3. Onboarding Checklist

สร้าง checklist:

  • [ ] Role ถูก
  • [ ] Warehouse ถูก
  • [ ] Template Apply แล้ว
  • [ ] Test Login ผ่าน
  • [ ] User ทำ Action ตัวอย่างได้

4. Quarterly Audit

  • Review User ทุกไตรมาส
  • ลบ User ที่ inactive > 90 วัน
  • ตรวจ Permission ยังเหมาะหรือไม่

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

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