UC_Phân quyền (RBAC)
Giới thiệu & tài liệu liên quan
Đặc tả Use Case cho 3 nghiệp vụ chính của module Phân quyền (F-03). Xem thêm Tổng quan module · SRS · UI.
UC1 — Gán & đổi vai trò cho nhân viên
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_F03_GRANT_001 |
| Use Case Name | Gán & đổi vai trò cho nhân viên |
| Use Case Description | Chủ sân chọn một nhân viên và gán hoặc đổi vai trò (Owner · Manager · Cashier · Viewer hoặc vai trò tuỳ chỉnh) kèm phạm vi chi nhánh; thay đổi áp dụng tức thì - nhân viên đang online bị thu hồi phiên và nhận quyền mới khi đăng nhập lại. |
| System Under Design | Admin Portal · Auth Service |
| Primary Actor | Chủ sân (Owner) |
| Supporting/External Actor | Nhân viên đang online · Module Nền tảng (audit log) |
| Priority | HIGH |
| Trigger | Chủ sân chọn một nhân viên và nhấn [Đổi vai trò] trên màn hình danh sách nhân viên |
| Pre-Condition | Người dùng đã đăng nhập và có quyền phân quyền (Chủ sân) |
| Post-Condition | Vai trò của nhân viên được cập nhật; phiên đang hoạt động bị thu hồi; badge vai trò cập nhật ngay |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Chủ sân | Mở màn hình danh sách nhân viên kèm vai trò hiện tại |
| 2 | Chủ sân | Chọn nhân viên, nhấn [Đổi vai trò] |
| 3 | Chủ sân | Chọn vai trò mới (Owner · Manager · Cashier · Viewer hoặc vai trò tuỳ chỉnh) và phạm vi chi nhánh áp dụng |
| 4 | Chủ sân | Nhấn xác nhận thay đổi |
| 5 | Auth Service | Kiểm tra chống leo thang đặc quyền, cập nhật vai trò, thu hồi phiên hiện tại |
| 6 | Auth Service | Đẩy thông báo thu hồi phiên tới nhân viên đang online (realtime) |
| 7 | Admin Portal | Cập nhật badge vai trò trên danh sách; ghi thay đổi vào audit log |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_3A.1 | 3 | Chủ sân chọn Vô hiệu hoá nhân viên thay vì đổi vai trò → tài khoản bị khoá, phiên đang hoạt động bị thu hồi ngay |
| 2 | AF_3B.1 | 3 | Chủ sân gán vai trò cho nhân viên ở nhiều chi nhánh được phân công (P2) |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_4.1 | 4 | Vai trò được chọn ngang hoặc cao hơn quyền của người gán → hệ thống chặn (chống leo thang đặc quyền) |
| 2 | EF_4.2 | 4 | Người dùng cố tự sửa vai trò của chính mình → hệ thống từ chối |
| 3 | EF_4.3 | 4 | Cố hạ cấp hoặc xoá Chủ sân duy nhất của tổ chức → hệ thống chặn |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR1 | Không ai được gán hoặc quản lý vai trò ngang hoặc cao hơn quyền của chính mình |
| 2 | BR2 | Người dùng không được tự thay đổi vai trò của chính mình |
| 3 | BR3 | Không được hạ cấp hoặc xoá Chủ sân duy nhất còn lại của tổ chức |
| 4 | BR4 | Thay đổi vai trò áp dụng tức thì: nhân viên đang online bị thu hồi phiên và nhận quyền mới khi đăng nhập lại |
| 5 | BR5 | Thao tác gán vai trò là idempotent - gán lại vai trò đã có sẽ được bỏ qua, không tạo bản ghi trùng |
UC2 — Xem ma trận quyền
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_F03_MATRIX_002 |
| Use Case Name | Xem ma trận quyền theo vai trò × module |
| Use Case Description | Chủ sân xem bảng tổng hợp quyền của tất cả vai trò theo từng module với các mức quyền (toàn quyền · chỉ xem · tạo · sửa · chạy · chặn) để đối chiếu ai được làm gì, có thể lọc theo module và mở rộng xem chi tiết. |
| System Under Design | Admin Portal · RBAC Service |
| Primary Actor | Chủ sân (Owner) |
| Supporting/External Actor | - |
| Priority | MEDIUM |
| Trigger | Chủ sân mở mục Ma trận quyền |
| Pre-Condition | Người dùng đã đăng nhập và có quyền xem ma trận quyền (Chủ sân) |
| Post-Condition | Bảng quyền vai trò × module hiển thị (chỉ đọc) |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Chủ sân | Mở mục Ma trận quyền |
| 2 | RBAC Service | Trả về bảng tổng hợp: hàng là module, cột là vai trò, ô là mức quyền |
| 3 | Chủ sân | Lọc theo một hoặc nhiều module để thu gọn bảng |
| 4 | Chủ sân | Mở rộng một module để xem chi tiết quyền theo từng hạng mục nghiệp vụ |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_3A.1 | 3 | Chủ sân tìm theo từ khoá để định vị nhanh một quyền cụ thể trong bảng |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_1.1 | 1 | Người dùng không có quyền xem ma trận → menu bị ẩn, truy cập trực tiếp bị chặn |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR6 | Ma trận quyền chỉ để xem (read-only), không cấp/thu hồi quyền trực tiếp tại đây |
| 2 | BR7 | Danh mục quyền hệ thống (quản trị nội bộ RBAC) không hiển thị để cấp - là quyền hệ thống |
| 3 | BR8 | Mức quyền hiển thị phản ánh bậc thang: toàn quyền bao trùm sửa, sửa bao trùm tạo/cập nhật/xoá, và xem |
UC3 — Tạo vai trò tuỳ chỉnh
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_F03_CROLE_003 |
| Use Case Name | Tạo vai trò tuỳ chỉnh |
| Use Case Description | Chủ sân tạo một vai trò riêng với tên, độ ưu tiên và phạm vi (tổ chức / chi nhánh), chọn bộ quyền qua cây tài nguyên theo module; trần quyền không vượt quá quyền của người tạo. Vai trò chỉ xoá được khi không còn nhân viên nào được gán. |
| System Under Design | Admin Portal · RBAC Service |
| Primary Actor | Chủ sân (Owner) |
| Supporting/External Actor | - |
| Priority | MEDIUM |
| Trigger | Chủ sân nhấn [+ Thêm vai trò] trên màn hình danh sách vai trò |
| Pre-Condition | Người dùng đã đăng nhập và có quyền tạo vai trò (Chủ sân) |
| Post-Condition | Vai trò tuỳ chỉnh được tạo với bộ quyền & phạm vi đã chọn, sẵn sàng để gán cho nhân viên |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Chủ sân | Mở danh sách vai trò, nhấn [+ Thêm vai trò] |
| 2 | Chủ sân | Nhập tên vai trò, độ ưu tiên và phạm vi (tổ chức / chi nhánh) |
| 3 | 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) |
| 4 | Chủ sân | Nhấn [Lưu vai trò] |
| 5 | RBAC Service | Kiểm tra trần quyền & trùng định danh, gom các quyền đã chọn thành bộ quyền tối thiểu rồi lưu |
| 6 | Admin Portal | Vai trò mới xuất hiện trong danh sách, sẵn sàng để gán cho nhân viên |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_3A.1 | 3 | Chủ sân sửa một vai trò tuỳ chỉnh đã có (tên, mô tả, độ ưu tiên, bộ quyền) |
| 2 | AF_3B.1 | 3 | Chủ sân xoá một vai trò tuỳ chỉnh không còn nhân viên nào được gán |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_4.1 | 4 | Độ ưu tiên ngang hoặc cao hơn quyền người tạo → hệ thống chặn (chống leo thang đặc quyền) |
| 2 | EF_4.2 | 4 | Trùng tên + độ ưu tiên trong cùng phạm vi → hệ thống báo lỗi trùng định danh |
| 3 | EF_3B.1 | 3 | Cố xoá vai trò còn nhân viên được gán → hệ thống chặn, yêu cầu gỡ gán trước |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR9 | Trần quyền của vai trò tuỳ chỉnh không vượt quá quyền của người tạo |
| 2 | BR10 | Bốn vai trò mặc định (Owner · Manager · Cashier · Viewer) là vai trò hệ thống, không sửa/xoá được |
| 3 | BR11 | Bộ chọn quyền chỉ hiển thị các mức quyền nằm trong trần quyền của người tạo |
| 4 | BR12 | Vai trò tuỳ chỉnh chỉ xoá được khi không còn nhân viên nào được gán; xoá kéo theo gỡ bộ quyền & phạm vi liên quan |
Non-Functional Requirements
Non-Functional Requirements
| TT | Loại | Yêu cầu |
|---|---|---|
| 1 | Bảo mật | Chặn quyền ở cả hai lớp: giao diện ẩn menu không được phép và máy chủ từ chối truy cập trái phép (defense in depth) |
| 2 | Khả dụng | Thay đổi vai trò áp dụng tức thì qua kênh realtime; nhân viên đang online bị thu hồi phiên ngay |
| 3 | Phân quyền | Mọi thao tác giới hạn theo phạm vi chi nhánh được phân công của người dùng; báo cáo & dữ liệu chỉ hiển thị trong phạm vi đó |
| 4 | Truy vết | Mọi thay đổi vai trò / thu hồi quyền được ghi vào audit log để truy vết về sau |