Skip to content

Phân quyền & RBAC ​

Tổng quan mô hình phân quyền ​

Haravan Helpdesk sử dụng mô hình RBAC (Role-Based Access Control) của Frappe, mở rộng bằng:

  • Role Profile theo quy ước tên HD-{Department}-{Level}
  • User Permission để giới hạn dữ liệu theo department/team
  • Assignment Rule để tự động phân ticket theo agent_group

Role Profile Naming Convention ​

HD-{Department}-{Level}
DepartmentLevelRole ProfileVí dụ
CSAgentHD-CS-AgentAgent xử lý ticket CS thường
CSManagerHD-CS-ManagerQuản lý team CS
EcomAgentHD-Ecom-AgentAgent xử lý ticket Ecom
EcomManagerHD-Ecom-ManagerQuản lý team Ecom
AdminAdminHD-AdminQuản trị toàn hệ thống

Ma trận quyền chi tiết ​

Quyền theo vai trò ​

Tính năngAgentManagerAdmin
Xem ticket team mình✅✅✅
Xem ticket tất cả team❌✅✅
Xử lý / reply ticket✅✅✅
Chuyển ticket sang team khác✅✅✅
Quản lý agent trong team❌✅✅
Cấu hình Assignment Rule❌❌✅
Quản lý Server Script❌❌✅
Xem Error Log❌❌✅
Quản lý Site Config❌❌✅

User Permission Matrix ​

Cần giới hạnDocType filterMô tả
Team ticketHD Team → agent_groupAgent chỉ thấy ticket team mình
DepartmentDepartmentManager thấy tất cả ticket trong department
Full access(không set)Admin thấy tất cả

Cấp quyền cho agent mới ​

Bước 1: Tạo User ​

  1. Vào Setup > User → Add User
  2. Nhập email, tên agent
  3. Set User Type = System User

Bước 2: Gán Role Profile ​

  1. Vào tab Roles của User
  2. Chọn Role Profile phù hợp (ví dụ: HD-CS-Agent)
  3. Role Profile sẽ tự động gán tất cả role cần thiết

Bước 3: Set User Permission (nếu cần giới hạn team) ​

  1. Vào Setup > User Permission → Add
  2. User: (agent email)
  3. Allow: HD Team
  4. For Value: (tên team, ví dụ: "CS 60p")

Bước 4: Thêm vào HD Team ​

  1. Vào Helpdesk > HD Team → chọn team
  2. Thêm agent vào danh sách member
  3. Save

Assignment Rule và Routing ​

Ticket được route tự động theo agent_group:

RulePriorityĐiều kiệnTeam
Partner - ... - Support RotationCao nhấtagent_group == "Partner - ..."Partner team
AR02 - SME 9M Scale300agent_group == "Medium - Scale"Medium Scale team
AR03 - SME 9M Grow200agent_group == "Medium - Grow"Medium Grow team
AR04 - CS60p Fallback100agent_group == "CS 60p"CS 60p (mặc định)

Fallback rule

Nếu không xác định được team, ticket luôn fallback về CS 60p.

Kiểm tra phân quyền ​

  1. Đăng nhập bằng tài khoản agent cần kiểm tra
  2. Vào Helpdesk > HD Ticket — chỉ nên thấy ticket team mình
  3. Thử chuyển ticket — phải có quyền write
  4. Kiểm tra User Permission nếu agent thấy quá nhiều/ít ticket

Tham chiếu ​