Skip to content

403 Forbidden — ทำไมเข้าไม่ได้

HTTP 403 Forbidden = "เรารู้ว่าคุณเป็นใคร แต่คุณไม่มีสิทธิ์เข้า/ทำสิ่งนี้"

สาเหตุที่พบบ่อย

1. ไม่มี Permission ของโมดูล

ตัวอย่าง: คลิก Adjustments → 403

สาเหตุ: User ไม่มี Read access ของ Inventory → Adjustments

แก้: Admin ให้สิทธิ์เพิ่ม (ดู Per-Module Permissions)

2. ไม่มี Write Permission

ตัวอย่าง: เห็น Item ได้ แต่กด Edit → 403

สาเหตุ: มี Read แต่ไม่มี Write

แก้: Admin เปิด Write Permission

3. Action ต้อง Role สูงกว่า

ตัวอย่าง: Operator สร้าง Adjustment แต่ Approve ไม่ได้

สาเหตุ: Approve = Supervisor+

แก้: ส่งให้ Supervisor approve

4. Warehouse ไม่ได้ Assign

ตัวอย่าง: User ดูแลคลัง A → คลิก Order ของคลัง B → 403

สาเหตุ: ไม่ได้ assign คลัง B ให้ User

แก้: Admin เพิ่มคลัง B ใน Assigned Warehouses

5. Document Locked

ตัวอย่าง: เปิด GRN ที่ Confirmed แล้ว → กด Edit → 403

สาเหตุ: GRN Confirm แล้วล็อก — ต้องสร้าง Adjustment แทน

แก้: ใช้ proper workflow (Adjustment / Reverse)

6. Admin Portal ห้ามเข้า

ตัวอย่าง: เข้า [admin URL] → 403

สาเหตุ: Role ต่ำกว่า Admin (Manager/Supervisor/Operator/Viewer)

แก้: ใช้ Main WMS แทน — ถ้าต้องการสิทธิ์เพิ่ม → ติดต่อ Admin

7. SuperAdmin-only Action

ตัวอย่าง: Admin จะลบ Tenant → 403

สาเหตุ: Action นี้เฉพาะ SuperAdmin

แก้: ติดต่อ SuperAdmin

วิธีหาว่าตัวเองมีสิทธิ์อะไรบ้าง

  1. Profile → Tab Read-only Info
  2. ดู:
    • Role
    • Assigned Warehouses
    • Per-Module Permissions

ถ้ายังไม่แน่ใจ → ติดต่อ Admin ขอ Permission Report

วิธีให้ Admin แก้

Admin จะทำอะไร:

  1. Admin Portal → Users → ค้นหา User ที่มีปัญหา
  2. ดู:
    • Role ที่ตั้งไว้
    • Permissions ที่ Override
    • Assigned Warehouses
  3. แก้ตามที่ต้องการ:
    • ติ๊ก Permission เพิ่ม
    • เพิ่ม Warehouse
    • เปลี่ยน Role (ถ้าจำเป็น)
  4. Save
  5. แจ้ง User → Logout + Login ใหม่ (Token cached สิทธิ์เก่า)

Login ใหม่หลังเปลี่ยน Permission

Token เก่าจะมี Permission เก่าใน 5-15 นาที — Logout + Login จะ Refresh ทันที

Audit Permission ตัวเองได้

ไม่มีปุ่ม "ดู Permission ตัวเอง" โดยตรง — ให้ทำดังนี้:

  1. เปิด DevTools (F12)
  2. Tab Network
  3. รีโหลด
  4. หา request /api/v1/auth/me
  5. Response จะมี:
    json
    {
      "role": "...",
      "permissions": [...],
      "warehouses": [...]
    }

ตัวอย่างที่พบบ่อย

Operator พยายามดู Stock ทุกคลัง

  • เห็นเฉพาะคลังตัวเอง (เพราะ assigned)
  • ต้องการมากกว่านี้ → Manager เพิ่ม Warehouse

Supervisor ใหม่ Approve ไม่ได้

  • Supervisor ใหม่ปกติได้สิทธิ์ Approve ครบ
  • ถ้ายัง 403 → เช็ค "Per-Module Permissions" — อาจถูก Override

Viewer ที่ Export ไม่ได้

  • บางองค์กรปิด Export สำหรับ Viewer (เพื่อป้องกัน data leak)
  • ขอ Admin เปิดให้ถ้าจำเป็น

ป้องกัน 403 ในอนาคต

  • ใช้ Permission Templates ให้ครอบคลุม
  • Test ก่อน Deploy User
  • มี Onboarding checklist ตอน User ใหม่

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

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