การปรับสิทธิ์เพื่อแก้ "ไม่มีสิทธิ์"
คู่มือสำหรับ Admin ที่ต้องช่วยแก้ปัญหา "User ทำอะไรไม่ได้" / "User เห็น 403"
Diagnose ก่อน Fix
ขั้น 1: ฟังจาก User
ถามชัด:
- "ทำอะไร?" — เช่น "กด Edit Item แล้ว 403"
- "เห็นอะไร?" — Screenshot จะดีมาก
- "ทำที่ไหน?" — Module ไหน Warehouse ไหน
ขั้น 2: เปิด Profile ของ User
- Admin Portal → Users → ค้นหา User
- ดู:
- Role — เพดานสิทธิ์
- Assigned Warehouses — Scope
- Per-Module Permissions — Override
ขั้น 3: เทียบกับ Action ที่ User ทำ
ใช้ตารางนี้:
| Action | ต้องการอะไร |
|---|---|
| ดู Item | Master Data — Items: Read |
| แก้ Item | Master Data — Items: Read + Write |
| สร้าง GRN | Inbound: Read + Write |
| Confirm GRN | Inbound: Write + (อาจต้อง Supervisor) |
| Approve Adjustment | Inventory: Write + Role ≥ Supervisor (หรือ Manager ถ้าใหญ่) |
| เข้า Admin Portal | Role ≥ Admin (หรือ Manager จำกัด) |
| Delete User | Admin 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. SaveRecipe 3: เพิ่ม Warehouse
1. User → Tab Role & Access
2. Assigned Warehouses → + Add Warehouse
3. เลือก
4. SaveRecipe 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. SaveRecipe 6: User ที่ Approve ไม่ได้
ตรวจ:
1. Role ของ User ≥ ระดับที่ Approve ต้องการ?
- Adjustment เล็ก → Supervisor
- Adjustment ใหญ่ → Manager
2. Per-Module Permissions: Approvals = Read?
3. Warehouse ตรงกับเอกสาร?
แก้ตามจุดที่ขาดหลังแก้แล้ว — Verify
วิธีให้ User ลอง
- แจ้ง User: "Logout แล้ว Login ใหม่" (สำคัญ!)
- ให้ User ลอง action เดิม
- ถ้ายัง 403 → กลับมา Diagnose ใหม่
เช็คจาก DevTools (เทคนิค)
ขอ User เปิด DevTools:
- F12 → Network
- ทำ action ที่ติด
- หา request 403
- ดู 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 ยังเหมาะหรือไม่