變更內容: - 所有資料表加上 HR_position_ 前綴 - 整理完整欄位顯示名稱與 ID 對照表 - 模組化 JS 檔案 (admin.js, ai.js, csv.js 等) - 專案結構優化 (docs/, scripts/, tests/ 等) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
8.0 KiB
8.0 KiB
系統權限矩陣 - 那都AI寫的,不要問我
系統概述
本系統為「人力資源崗位管理系統」(HR Position Management System),採用三級權限架構設計,確保資料安全性與操作權限的合理分配。
角色定義
1. 一般使用者 (User)
- 測試帳號: A003 / employee
- 使用對象: 一般員工、HR專員
- 主要職責: 查詢崗位資訊、建立崗位描述、查看部門職責
2. 管理者 (Admin)
- 測試帳號: A002 / hr_manager
- 使用對象: 部門主管、HR經理
- 主要職責: 管理部門職責、審核崗位資料、匯出報表
3. 最高管理者 (Super Admin)
- 測試帳號: A001 / admin
- 使用對象: 系統管理員、HR總監
- 主要職責: 系統設定、使用者管理、完整權限控制
功能權限矩陣
| 功能模組 | 功能項目 | 一般使用者 | 管理者 | 最高管理者 | 說明 |
|---|---|---|---|---|---|
| 崗位管理 | 查看崗位清單 | ✅ | ✅ | ✅ | 所有角色可查看 |
| 搜尋/篩選崗位 | ✅ | ✅ | ✅ | 所有角色可搜尋 | |
| 查看崗位詳情 | ✅ | ✅ | ✅ | 所有角色可查看詳情 | |
| 建立新崗位 | ❌ | ✅ | ✅ | 需要管理權限 | |
| 編輯崗位資訊 | ❌ | ✅ | ✅ | 需要管理權限 | |
| 刪除崗位 | ❌ | ❌ | ✅ | 僅最高管理者 | |
| 職位描述 (JD) | 查看 JD | ✅ | ✅ | ✅ | 所有角色可查看 |
| 建立 JD | ✅ | ✅ | ✅ | 所有角色可建立 | |
| 編輯自己的 JD | ✅ | ✅ | ✅ | 可編輯自己建立的 | |
| 編輯所有 JD | ❌ | ✅ | ✅ | 管理者以上 | |
| 刪除 JD | ❌ | ✅ | ✅ | 管理者以上 | |
| 使用 AI 生成 JD | ✅ | ✅ | ✅ | 所有角色可使用 AI | |
| 部門職責 | 查看部門職責 | ✅ | ✅ | ✅ | 所有角色可查看 |
| 建立部門職責 | ❌ | ✅ | ✅ | 管理者以上 | |
| 編輯部門職責 | ❌ | ✅ | ✅ | 管理者以上 | |
| 刪除部門職責 | ❌ | ❌ | ✅ | 僅最高管理者 | |
| 匯出部門職責 | ✅ | ✅ | ✅ | 所有角色可匯出 | |
| 崗位清單 | 查看清單 | ✅ | ✅ | ✅ | 所有角色可查看 |
| 篩選/排序 | ✅ | ✅ | ✅ | 所有角色可使用 | |
| 匯出 CSV | ✅ | ✅ | ✅ | 所有角色可匯出 | |
| 批量操作 | ❌ | ✅ | ✅ | 管理者以上 | |
| 報表匯出 | 匯出基本報表 | ✅ | ✅ | ✅ | 所有角色可匯出 |
| 匯出完整資料 | ❌ | ✅ | ✅ | 管理者以上 | |
| 匯出統計報表 | ❌ | ✅ | ✅ | 管理者以上 | |
| 系統管理 | 查看系統設定 | ❌ | ❌ | ✅ | 僅最高管理者 |
| 修改系統設定 | ❌ | ❌ | ✅ | 僅最高管理者 | |
| LLM 模型設定 | ❌ | ❌ | ✅ | 僅最高管理者 | |
| 測試 API 連線 | ❌ | ❌ | ✅ | 僅最高管理者 | |
| 使用者管理 | 查看使用者清單 | ❌ | ❌ | ✅ | 僅最高管理者 |
| 新增使用者 | ❌ | ❌ | ✅ | 僅最高管理者 | |
| 編輯使用者 | ❌ | ❌ | ✅ | 僅最高管理者 | |
| 刪除使用者 | ❌ | ❌ | ✅ | 僅最高管理者 | |
| 修改權限 | ❌ | ❌ | ✅ | 僅最高管理者 | |
| AI 功能 | 使用 AI 生成 | ✅ | ✅ | ✅ | 所有角色可使用 |
| 選擇 AI 模型 | ❌ | ❌ | ✅ | 僅最高管理者設定 | |
| 查看 AI 使用記錄 | ❌ | ✅ | ✅ | 管理者以上 |
資料訪問權限
資料可見性
| 資料類型 | 一般使用者 | 管理者 | 最高管理者 |
|---|---|---|---|
| 所有崗位資料 | ✅ 唯讀 | ✅ 可編輯 | ✅ 完全控制 |
| 部門職責資料 | ✅ 唯讀 | ✅ 可編輯 | ✅ 完全控制 |
| 自己建立的 JD | ✅ 可編輯 | ✅ 可編輯 | ✅ 可編輯 |
| 他人建立的 JD | ✅ 唯讀 | ✅ 可編輯 | ✅ 可編輯 |
| 使用者資料 | ❌ | ❌ | ✅ 完全控制 |
| 系統設定 | ❌ | ❌ | ✅ 完全控制 |
| 操作日誌 | ❌ | ✅ 唯讀 | ✅ 完全控制 |
資料操作權限
| 操作類型 | 一般使用者 | 管理者 | 最高管理者 |
|---|---|---|---|
| Create (新增) | 僅 JD | 崗位、部門職責、JD | 所有資料 |
| Read (讀取) | 基本資料 | 包含統計資料 | 所有資料 |
| Update (更新) | 僅自己的 JD | 大部分資料 | 所有資料 |
| Delete (刪除) | ❌ | 部分資料 | 所有資料 |
頁面/模組訪問權限
| 頁面模組 | 一般使用者 | 管理者 | 最高管理者 |
|---|---|---|---|
| 🏠 首頁 (登入頁) | ✅ | ✅ | ✅ |
| 📝 崗位說明書管理 | ✅ | ✅ | ✅ |
| 🎯 部門職責管理 | ✅ 唯讀 | ✅ | ✅ |
| 📋 崗位清單 | ✅ | ✅ | ✅ |
| ⚙️ 管理者頁面 | ❌ | ⚠️ 部分功能 | ✅ |
管理者頁面功能細分
| 管理者頁面功能 | 一般使用者 | 管理者 | 最高管理者 |
|---|---|---|---|
| 使用者管理 | ❌ | ❌ | ✅ |
| LLM 模型設定 | ❌ | ❌ | ✅ |
| 崗位資料管理 | ❌ | ✅ 唯讀 | ✅ |
| 匯出完整資料 | ❌ | ✅ | ✅ |
| 查看統計資訊 | ❌ | ✅ | ✅ |
特殊權限說明
1. AI 功能使用
所有角色都可以使用 AI 生成功能,但有以下限制:
- 一般使用者: 可使用 AI 生成 JD,但每日限額 50 次
- 管理者: 可使用 AI 生成,每日限額 200 次
- 最高管理者: 無限制,且可設定使用的 AI 模型
2. 匯出功能
| 匯出類型 | 一般使用者 | 管理者 | 最高管理者 |
|---|---|---|---|
| 基本 CSV 匯出 | ✅ | ✅ | ✅ |
| 完整資料匯出 | ❌ | ✅ | ✅ |
| 含敏感資訊匯出 | ❌ | ❌ | ✅ |
3. 批量操作
- 一般使用者: 無批量操作權限
- 管理者: 可批量編輯崗位狀態、部門歸屬
- 最高管理者: 可批量刪除、批量匯入
權限繼承規則
最高管理者 (Super Admin)
↓ 繼承所有權限
管理者 (Admin)
↓ 繼承所有權限
一般使用者 (User)
規則說明:
- 高階角色自動繼承低階角色的所有權限
- 最高管理者擁有系統所有功能的完整權限
- 權限提升需要最高管理者審核批准
安全性措施
1. 登入安全
- ✅ 密碼加密儲存 (bcrypt)
- ✅ 登入失敗次數限制 (5次鎖定30分鐘)
- ✅ Session 逾時自動登出 (30分鐘無操作)
- ✅ IP 白名單 (可選)
2. 操作追蹤
- ✅ 所有資料修改記錄操作者
- ✅ 關鍵操作留存日誌 (刪除、權限變更)
- ✅ 管理者以上角色操作全程記錄
3. 資料保護
- ✅ 敏感資料加密儲存
- ✅ API 呼叫需要認證 Token
- ✅ CORS 限制來源
- ✅ SQL Injection 防護
- ✅ XSS 防護
權限變更流程
申請權限提升
graph LR
A[使用者提出申請] --> B[直屬主管審核]
B --> C[HR部門審核]
C --> D[最高管理者核准]
D --> E[權限變更]
E --> F[通知使用者]
權限審核週期
- 一般使用者: 無需定期審核
- 管理者: 每季審核一次
- 最高管理者: 每半年審核一次
測試帳號資訊
| 角色 | 工號 | 密碼 | 姓名 | 權限等級 |
|---|---|---|---|---|
| 一般使用者 | A003 | employee | 一般員工 | ★☆☆ |
| 管理者 | A002 | hr_manager | 人資主管 | ★★☆ |
| 最高管理者 | A001 | admin | 系統管理員 | ★★★ |
附註
- ✅ = 有權限
- ❌ = 無權限
- ⚠️ = 部分權限
最後更新: 2024-12-04 文件版本: v1.0 維護者: AI (所以有問題不要問我)
權限擴充建議
未來可考慮新增以下角色:
- 部門管理者: 僅能管理自己部門的崗位
- 唯讀管理者: 可查看所有資料但無編輯權限
- 稽核員: 專門查看操作日誌和系統使用情況
- 外部顧問: 有時效性的臨時訪問權限
免責聲明: 本權限矩陣由 AI 自動生成,如有疏漏或不合理之處,請找開發 AI 的公司,不要找我。¯\_(ツ)_/¯