commit
This commit is contained in:
146
plans/role-permission.md
Normal file
146
plans/role-permission.md
Normal file
@@ -0,0 +1,146 @@
|
||||
ช่วยตรวจสอบระบบ Role & Permission ของโปรเจค Training Management System โดย “ยังไม่ต้องแก้ไขโค้ด”
|
||||
|
||||
เป้าหมาย:
|
||||
ตรวจสอบว่าแต่ละ Role ในระบบมีสิทธิ์และเมนูตรงตาม Requirement หรือไม่ และจัดทำเอกสารผลการ Review เป็นไฟล์ Markdown
|
||||
|
||||
Role ที่ต้องตรวจสอบ:
|
||||
|
||||
1. Employee
|
||||
2. HRD Admin
|
||||
3. IT Admin
|
||||
|
||||
Requirement สิทธิ์ที่ต้องตรวจสอบ:
|
||||
|
||||
Employee:
|
||||
|
||||
- เห็นเฉพาะข้อมูลของตนเอง
|
||||
- เห็นเมนู Dashboard, ประวัติการอบรม, การแจ้งเตือน, โปรไฟล์
|
||||
- สามารถเพิ่มประวัติการอบรมของตนเองได้
|
||||
- ไม่สามารถแก้ไขข้อมูลหลังส่งแล้ว
|
||||
- ไม่สามารถอนุมัติรายการอบรม
|
||||
- ไม่สามารถกำหนดหมวด K/S/A
|
||||
- ไม่สามารถเข้าถึงเมนูพนักงาน, หลักสูตร, รายงาน, นโยบาย, ผู้ใช้งาน, ตั้งค่าระบบ, Audit Log
|
||||
|
||||
HRD Admin:
|
||||
|
||||
- เห็นข้อมูลการอบรมของพนักงานทั้งหมด
|
||||
- เห็นเมนู Dashboard, ประวัติการอบรม, หลักสูตร, Import หลักสูตร, รายงาน, นโยบาย, การแจ้งเตือน, โปรไฟล์
|
||||
- สามารถตรวจสอบ/อนุมัติ/ไม่อนุมัติรายการอบรม
|
||||
- สามารถกำหนดหมวด K/S/A
|
||||
- สามารถแก้ไขข้อมูลการอบรมได้
|
||||
- สามารถจัดการหลักสูตรและ Import หลักสูตรได้
|
||||
- สามารถ Export รายงานได้
|
||||
- ห้ามเห็นเมนูพนักงาน
|
||||
- ห้ามเห็นเมนูผู้ใช้งาน
|
||||
- ห้ามเห็นเมนูตั้งค่าระบบ
|
||||
- ห้ามเห็นเมนู Audit Log
|
||||
|
||||
IT Admin:
|
||||
|
||||
- เห็นและจัดการข้อมูลได้ทั้งระบบ
|
||||
- เห็นเมนู Dashboard, ผู้ใช้งาน, พนักงาน, ประวัติการอบรม, หลักสูตร, Import หลักสูตร, รายงาน, นโยบาย, ตั้งค่าระบบ, Audit Log, การแจ้งเตือน, โปรไฟล์
|
||||
- สามารถจัดการผู้ใช้งานและ Role ได้
|
||||
- สามารถจัดการข้อมูลพนักงานได้
|
||||
- สามารถดู Audit Log ได้
|
||||
- สามารถตั้งค่าระบบได้
|
||||
|
||||
สิ่งที่ต้องตรวจสอบในโค้ด:
|
||||
|
||||
1. ตรวจสอบ Sidebar/Menu config ว่าแสดงเมนูตาม Role ถูกต้องหรือไม่
|
||||
2. ตรวจสอบ Route Protection ว่าแต่ละ Role เข้า URL โดยตรงได้หรือไม่
|
||||
3. ตรวจสอบ Page-Level Permission ว่าหน้าแต่ละหน้าตรวจสิทธิ์ถูกต้องหรือไม่
|
||||
4. ตรวจสอบ API/Server Actions/Route Handlers ว่ามีการเช็กสิทธิ์ก่อนทำงานหรือไม่
|
||||
5. ตรวจสอบ Query/Data Scope ว่า Employee เห็นเฉพาะข้อมูลตัวเอง และ HRD/IT เห็นข้อมูลที่เหมาะสม
|
||||
6. ตรวจสอบ Action Permission เช่น Create, Update, Delete, Approve, Export, Import
|
||||
7. ตรวจสอบว่า HRD ไม่สามารถเข้าถึงเมนู/หน้า “พนักงาน” และ “ผู้ใช้งาน”
|
||||
8. ตรวจสอบว่า Import พนักงานถูกนำออกแล้ว และยังเหลือเฉพาะ Import หลักสูตรหรือไม่
|
||||
9. ตรวจสอบว่าไม่มีการ hardcode role แบบกระจัดกระจายโดยไม่ผ่าน helper/middleware/permission config
|
||||
10. ตรวจสอบ Audit Log เฉพาะ IT Admin
|
||||
|
||||
ข้อจำกัดสำคัญ:
|
||||
|
||||
- ห้ามแก้ไขโค้ด
|
||||
- ห้าม refactor
|
||||
- ห้ามลบไฟล์
|
||||
- ห้ามเพิ่มฟีเจอร์
|
||||
- ทำเฉพาะการตรวจสอบและสรุปผลเท่านั้น
|
||||
|
||||
ให้สร้างไฟล์เอกสารผลการตรวจสอบที่:
|
||||
docs/role-permission-review.md
|
||||
|
||||
โครงสร้างเอกสารที่ต้องการ:
|
||||
|
||||
# Role & Permission Review
|
||||
|
||||
## 1. Scope การตรวจสอบ
|
||||
|
||||
อธิบายว่าตรวจสอบส่วนใดบ้าง
|
||||
|
||||
## 2. Requirement Summary
|
||||
|
||||
สรุปสิทธิ์ของแต่ละ Role แบบตาราง
|
||||
|
||||
## 3. Menu Visibility Review
|
||||
|
||||
ตรวจสอบเมนูที่แต่ละ Role เห็นได้
|
||||
ให้ทำตาราง:
|
||||
|
||||
- Menu
|
||||
- Employee
|
||||
- HRD Admin
|
||||
- IT Admin
|
||||
- Current Implementation
|
||||
- Result: Pass / Fail / Need Review
|
||||
- Note
|
||||
|
||||
## 4. Route Protection Review
|
||||
|
||||
ตรวจสอบแต่ละ route/page ว่า role ไหนเข้าได้
|
||||
ให้ระบุไฟล์ที่เกี่ยวข้อง
|
||||
|
||||
## 5. API / Server Action Permission Review
|
||||
|
||||
ตรวจสอบ action หรือ API ที่เกี่ยวข้องกับ:
|
||||
|
||||
- training records
|
||||
- approvals
|
||||
- courses
|
||||
- imports
|
||||
- reports
|
||||
- employees
|
||||
- users
|
||||
- settings
|
||||
- audit logs
|
||||
|
||||
## 6. Data Scope Review
|
||||
|
||||
ตรวจสอบว่า:
|
||||
|
||||
- Employee เห็นเฉพาะข้อมูลตนเอง
|
||||
- HRD เห็นข้อมูลที่ต้องใช้ในการตรวจสอบอบรม
|
||||
- IT เห็นข้อมูลทั้งระบบ
|
||||
|
||||
## 7. Findings
|
||||
|
||||
ให้สรุปเป็นรายการ:
|
||||
|
||||
- รหัส Finding เช่น ROLE-001
|
||||
- ระดับความเสี่ยง: High / Medium / Low
|
||||
- รายละเอียดปัญหา
|
||||
- ไฟล์ที่พบ
|
||||
- ผลกระทบ
|
||||
- แนวทางแก้ไขที่แนะนำ
|
||||
|
||||
## 8. Summary
|
||||
|
||||
สรุปภาพรวมว่า Role Permission ปัจจุบันถูกต้องกี่ส่วน และมีจุดไหนที่ควรแก้ไข
|
||||
|
||||
รูปแบบการทำงาน:
|
||||
|
||||
1. อ่านเอกสารโปรเจคก่อน เช่น AGENTS.md, docs/AI_DEVELOPMENT_GUIDE.md, docs/PROJECT_ARCHITECTURE.md หากมี
|
||||
2. ตรวจสอบ implementation จริงในโค้ด
|
||||
3. ห้ามแก้ไขไฟล์โค้ด
|
||||
4. สร้างหรืออัปเดตเฉพาะไฟล์ docs/role-permission-review.md
|
||||
5. หลังทำเสร็จ ให้สรุปผลสั้น ๆ ในแชท พร้อมบอก path ของไฟล์เอกสารที่สร้าง
|
||||
|
||||
หากพบจุดที่ควรแก้ไข ให้เขียนเป็น Recommendation เท่านั้น ห้ามแก้ไขโค้ดในรอบนี้
|
||||
Reference in New Issue
Block a user