Quyền hạn Phase A Built
Quyền hạn quản trị ai được làm gì, và trên dữ liệu của merchant nào. Nó định nghĩa vai trò, cấp quyền cho các vai trò đó, giới hạn truy cập theo tổ chức/merchant, và tự động lọc mọi truy vấn list và detail về phạm vi của người dùng yêu cầu. Mọi module khác đều dựa vào nó để phân quyền.
1. Định danh
| Thuộc tính | Giá trị |
|---|---|
| Mã module | CORE-02 |
| Tier | Core |
| Trạng thái | Built |
| Phase | P1 (vai trò cố định + lọc), P2 (vai trò tùy chỉnh + cấp quyền chi tiết) |
| Mức ưu tiên | HIGH |
| Người dùng chính | Super Admin · Admin · Operator · Owner · Cashier · Employee |
2. Mục đích & Phạm vi
| Bao gồm | Loại trừ |
|---|---|
| Tám vai trò hệ thống cố định + phân cấp vai trò | Quyền wildcard (vd sales.*) |
| Tạo vai trò tùy chỉnh với ưu tiên và phạm vi | Phân loại quyền / nhóm giao diện |
| Catalog quyền (tạo, cập nhật, xóa) | Quyền theo thời gian hoặc ca làm |
| Cấp / thu hồi quyền cho vai trò | Nhật ký kiểm toán quyền |
| Cấp / thu hồi vai trò cho người dùng | Mẫu vai trò / gói cấu hình sẵn |
| Truy vấn quyền hiệu lực (trực tiếp + kế thừa) | Chuyển vai trò hoạt động theo merchant |
| Phân phạm vi theo merchant & theo tổ chức | |
| Lọc dữ liệu theo vai trò tự động | |
| Bảo vệ chống nâng quyền |
3. Năng lực
| Năng lực | Người dùng có thể làm gì | Trạng thái |
|---|---|---|
| Vai trò hệ thống cố định | Tám vai trò bất biến seed khi khởi động, mỗi vai trò có ưu tiên dạng số | Built |
| Lọc dữ liệu theo vai trò | Mọi truy vấn list/count/detail tự được lọc về phạm vi của người dùng | Built |
| Bỏ qua với vai trò hệ thống | Super Admin, Admin, Operator thấy mọi dữ liệu, bỏ qua lọc phạm vi | Built |
| Phân phạm vi theo merchant | Cấp quyền áp dụng trong merchant chọn bởi header active-merchant | Built |
| Mở rộng cho HQ-owner | Một Owner tại merchant trụ sở vươn tới mọi merchant anh em của tổ chức đó | Built |
| Vai trò tùy chỉnh | Tạo vai trò với tên i18n, ưu tiên và phạm vi org/merchant tùy chọn | Built |
| Catalog quyền | Tạo, cập nhật và xóa định nghĩa quyền | Built |
| Cấp / thu hồi cho vai trò | Thêm hoặc gỡ quyền trên một vai trò (idempotent) | Built |
| Cấp / thu hồi vai trò cho người dùng | Gán hoặc gỡ vai trò khỏi người dùng | Built |
| Quyền hiệu lực | Xem quyền tổng hợp trực tiếp + kế thừa qua vai trò của một người dùng | Built |
| Bảo vệ chống nâng quyền | Chặn quản lý bất kỳ vai trò ở mức hoặc cao hơn ưu tiên của chính người thao tác | Built |
4. Phụ thuộc Module
| Phụ thuộc vào | Lý do |
|---|---|
| Quản lý Người dùng | Người dùng là chủ thể nhận vai trò và quyền |
| Commerce | Tổ chức và merchant là phạm vi mà vai trò gắn vào |
| Mọi module tính năng | Dữ liệu của mọi module được lọc và phân quyền qua Quyền hạn |
5. Backend Packages
Chi tiết triển khai nằm trong tài liệu developer — phần này chỉ ánh xạ module tới các service vận hành nó.
| Package | Vai trò | Tài liệu developer |
|---|---|---|
@nx/identity | Vai trò, quyền, cấp quyền policy-definition, token đăng nhập | identity |
@nx/core | Mô hình Casbin + adapter policy theo merchant + đấu nối enforcer | Casbin Authorization |
6. Luồng Người dùng Chính
7. Vai trò & Quyền hạn
Snapshot trực tiếp từ
develop. Để xem phân tích chi tiết theo từng quyền, xem Ma trận Quyền.
| Vai trò | Định danh | Ưu tiên | Cách thực thi | Phạm vi |
|---|---|---|---|---|
| Super Admin | 999_super-admin | 999 | Bỏ qua, luôn cho phép | Mọi thứ |
| Admin | 900_admin | 900 | Bỏ qua, luôn cho phép | Mọi thứ |
| Operator | 600_operator | 600 | Bỏ qua, luôn cho phép | Mọi thứ |
| Owner | 500_organizer-owner | 500 | Domain theo merchant | Tổ chức của mình + merchant của nó |
| Cashier | 110_cashier | 110 | Domain theo merchant | Merchant được gán (giống Employee) |
| Employee | 100_employee | 100 | Domain theo merchant | Merchant được gán |
| Customer | 010_customer | 10 | Không (hướng khách hàng) | Không có quyền backend |
| Guest | 001_guest | 1 | Toàn cục (*) | Chỉ onboarding (trước-merchant) |
Owner vs Employee: cả hai nhận cấp full-CRUD khoan dung trên hầu hết module và chỉ khác ở tồn kho (Employee chỉ đọc master data) và ledger (chỉ Owner). Cashier giống Employee y hệt.
8. Trạng thái & Lộ trình
| Phase | Năng lực |
|---|---|
| P1 | Tám vai trò cố định · phân cấp ưu tiên · bỏ qua với vai trò hệ thống · lọc dữ liệu tự động · ngữ cảnh vai trò trong token đăng nhập |
| P2 | Vai trò tùy chỉnh · catalog quyền · cấp/thu hồi cho vai trò & người dùng · truy vấn quyền hiệu lực · bảo vệ chống nâng quyền · phân phạm vi theo merchant |
| P3 (dự kiến) | Quyền wildcard · phân loại quyền · mẫu vai trò · quyền theo thời gian · nhật ký kiểm toán quyền |
9. Trang Liên quan
- URD
- Test Cases
- PRDs
- Ma trận Quyền — tham chiếu quyền đầy đủ theo từng vai trò
- Quản lý Người dùng
- identity — RBAC & Policy Definitions
- identity — Casbin Authorization