SRS_Phân quyền (RBAC)
Giới thiệu & tài liệu liên quan
Đặc tả yêu cầu phần mềm cho module Phân quyền (F-03). Xem thêm Tổng quan module · UC · UI.
1/ Luồng Sequence
2/ Luồng di chuyển màn hình
3/ Đặc tả chi tiết theo màn hình
MH1: Danh sách nhân viên & vai trò
Mô tả màn hình: Liệt kê nhân viên kèm badge vai trò hiện tại và phạm vi chi nhánh; thanh công cụ có lối vào Ma trận quyền và Quản lý vai trò.
Sự kiện 1 — Xem danh sách nhân viên
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Mở màn hình danh sách nhân viên |
| 2 | RBAC Service | Hợp lệ: Trả về danh sách nhân viên kèm vai trò và phạm vi chi nhánh |
Sự kiện 2 — Mở thao tác phân quyền
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Chọn nhân viên, nhấn [Đổi vai trò] (sang MH2); hoặc mở [Ma trận quyền] (MH3) / [Quản lý vai trò] (MH4) |
Không hợp lệ — Sự kiện 2
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Không có quyền phân quyền | "Bạn không có quyền thực hiện thao tác này." | Toàn màn hình · cảnh báo | Ẩn nút thao tác, chỉ cho xem |
MH2: Gán / đổi vai trò
Mô tả màn hình: Bảng chọn vai trò mới cho nhân viên (Owner · Manager · Cashier · Viewer hoặc vai trò tuỳ chỉnh), chọn phạm vi chi nhánh và tuỳ chọn vô hiệu hoá tài khoản.
Sự kiện 1 — Đổi vai trò & xác nhận
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Chọn vai trò mới và phạm vi chi nhánh áp dụng |
| 2 | Chủ sân | Nhấn xác nhận thay đổi |
| 3 | Auth Service | Kiểm tra trần quyền, cập nhật vai trò, thu hồi phiên |
| 4 | Auth Service | Hợp lệ: Đẩy thông báo thu hồi phiên realtime, cập nhật badge vai trò |
Không hợp lệ — Sự kiện 1
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Vai trò chọn ngang/cao hơn quyền người gán | "Không thể gán vai trò cao hơn hoặc bằng quyền của bạn." | Hộp thoại · lỗi | Chặn lưu |
| 2 | Tự sửa vai trò của chính mình | "Bạn không thể thay đổi vai trò của chính mình." | Hộp thoại · lỗi | Chặn lưu |
| 3 | Hạ cấp / xoá Chủ sân duy nhất | "Cần ít nhất một Chủ sân cho tổ chức." | Hộp thoại · cảnh báo | Chặn lưu |
MH3: Ma trận quyền
Mô tả màn hình: Bảng tổng hợp quyền với hàng là module, cột là vai trò và ô thể hiện mức quyền (toàn quyền · chỉ xem · tạo · sửa · chạy · chặn); có bộ lọc module và mở rộng chi tiết.
Sự kiện 1 — Xem & lọc ma trận
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Chọn bộ lọc module hoặc tìm theo từ khoá |
| 2 | RBAC Service | Hợp lệ: Trả về bảng quyền vai trò × module khớp bộ lọc |
| 3 | Chủ sân | Mở rộng một module để xem chi tiết quyền theo hạng mục |
Không hợp lệ — Sự kiện 1
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Không có quyền xem ma trận | "Bạn không có quyền truy cập." | Toàn màn hình · cảnh báo | Ẩn menu, chặn truy cập trực tiếp |
MH4: Danh sách vai trò
Mô tả màn hình: Liệt kê vai trò hệ thống (Owner · Manager · Cashier · Viewer) và vai trò tuỳ chỉnh kèm độ ưu tiên, phạm vi và số nhân viên đang giữ.
Sự kiện 1 — Xem & mở thao tác vai trò
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Xem danh sách vai trò; nhấn [+ Thêm vai trò] hoặc [Sửa] (sang MH5) |
| 2 | RBAC Service | Hợp lệ: Trả về danh sách vai trò kèm độ ưu tiên & số nhân viên |
Không hợp lệ — Sự kiện 1
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Cố sửa / xoá vai trò hệ thống | "Vai trò hệ thống không thể chỉnh sửa hoặc xoá." | Dòng vai trò · cảnh báo | Vô hiệu nút sửa/xoá |
| 2 | Xoá vai trò còn nhân viên được gán | "Vui lòng gỡ gán nhân viên trước khi xoá vai trò." | Hộp thoại · lỗi | Chặn xoá |
MH5: Tạo / sửa vai trò tuỳ chỉnh
Mô tả màn hình: Form khai báo vai trò tuỳ chỉnh: tên, độ ưu tiên, phạm vi (tổ chức / chi nhánh) và cây chọn quyền theo module với mức quyền cho từng nhánh.
Sự kiện 1 — Khai báo & lưu vai trò
| STT | Tác nhân | Mô tả |
|---|---|---|
| 1 | Chủ sân | Nhập tên, độ ưu tiên, phạm vi |
| 2 | Chủ sân | Chọn quyền theo cây module với mức quyền (chỉ xem · sửa · chạy · toàn quyền) |
| 3 | Chủ sân | Nhấn [Lưu vai trò] |
| 4 | RBAC Service | Hợp lệ: Gom quyền thành bộ tối thiểu, lưu vai trò, sẵn sàng để gán |
Không hợp lệ — Sự kiện 1
| STT | Trường hợp | Thông báo | Vị trí · Loại | Xử lý |
|---|---|---|---|---|
| 1 | Độ ưu tiên ngang/cao hơn người tạo | "Độ ưu tiên phải thấp hơn quyền của bạn." | Dưới trường độ ưu tiên · lỗi | Chặn lưu |
| 2 | Trùng tên + độ ưu tiên trong cùng phạm vi | "Vai trò đã tồn tại trong phạm vi này." | Dưới trường tên · lỗi | Chặn lưu |
| 3 | Bỏ trống tên vai trò | "Vui lòng nhập tên vai trò." | Dưới trường tên · lỗi | Chặn lưu, focus trường thiếu |
4/ Trường hợp đặc biệt
Case đặc biệt cần xử lý
- Case: Thu hồi phiên tức thì. Khi đổi vai trò hoặc vô hiệu hoá nhân viên, phiên đang hoạt động bị thu hồi qua kênh realtime; nhân viên tự đăng xuất và chỉ nhận quyền mới khi đăng nhập lại.
- Case: Phạm vi chi nhánh. Manager chỉ thấy dữ liệu chi nhánh được phân công; Owner thấy toàn bộ tổ chức. Mọi truy vấn liệt kê/đếm được lọc tự động theo phạm vi, không thể ghi đè bằng bộ lọc do người dùng cung cấp.
- Case: Danh mục RBAC hệ thống. Quyền quản trị nội bộ RBAC là quyền hệ thống - không hiển thị trong bộ chọn quyền và không cấp được cho vai trò tuỳ chỉnh.
- Case: Xoá an toàn. Vai trò tuỳ chỉnh chỉ xoá được khi không còn nhân viên được gán; xoá kéo theo gỡ bộ quyền & phạm vi liên quan (lưu vết, không xoá vật lý).