Skip to content

PRD: Vai trò cố định & tùy chỉnh

ModulePhân quyềnPRD IDPRD-ROLE-001
Trạng tháiSẵn sàng devFEATROLE
EpicPlaneBANA-1512
Ngày2026-05-27Phiên bảnv1.0
Gói@nx/identityURDROLE
SurfaceClient · Chủ/QLBO · Vận hành
Phụ tráchPhát Nguyễn

Vai trò cố định & tùy chỉnh là gì

BANA kiểm soát truy cập tính năng và dữ liệu qua một mô hình RBAC dựa trên độ ưu tiên, có phạm vi theo từng merchant. Bản thân cơ chế đó không quy định vai trò nào tồn tại hay ai được tạo chúng - đây là việc của lớp vai trò. Không có lớp này, mỗi merchant sẽ khởi đầu trống rỗng: không có mức truy cập mặc định, không có gì chặn một admin tạo ra một vai trò mạnh hơn chính mình, và không có cách giới hạn một vai trò vào đúng một organizer hay merchant cụ thể.

PRD này dựng lớp vai trò đó: tám vai trò (Role) cố định đi cùng mọi merchant ngay từ ngày đầu, và một cơ chế để Admin/Owner tự tạo thêm vai trò tùy chỉnh mà không phá được mô hình truy cập nền tảng. Đây là nền tảng để phần còn lại của module Phân quyền (cấp quyền, quyền hiệu lực, phân cấp) xây dựng tiếp.

Vì sao cần một lớp vai trò

Một merchant cần các mặc định hợp lý ngay khi vừa được tạo, một tập vai trò cố định không ai can thiệp được, và sự linh hoạt để Admin và Owner định nghĩa các vai trò hẹp hơn cho nhân sự của mình. Vai trò cũng phải khớp với mô hình phạm vi theo merchant, để phạm vi của một vai trò đi cùng người dùng khi họ đăng nhập, và danh sách vai trò được lọc theo merchant và organizer.

Từ organizer mới tới vai trò tùy chỉnh

Mọi merchant có ngay tám vai trò cố định (Super Admin, Admin, Operator, Owner, Cashier, Employee, Customer, Guest) từ lúc khởi tạo, xếp theo một độ ưu tiên dạng số; ba vai trò cao nhất - Super Admin, Admin, Operator - bỏ qua mọi việc lọc dữ liệu, còn Owner chỉ thấy organizer và merchant của mình, Employee/Cashier chỉ thấy merchant được gán.

Tạo một organizer mới xong, người tạo được gán ngay vai trò Owner, không cần ai gán tay ở màn phân quyền.

Tại trang Client, mục Đội ngũ có màn Vai trò cho Admin/Owner tạo vai trò tùy chỉnh: đặt tên song ngữ, chọn độ ưu tiên theo 3 mức Cao/Trung bình/Thấp (không gõ số tự do), chọn phạm vi áp dụng và chọn cây permission muốn cấp. Độ ưu tiên của vai trò mới luôn phải thấp hơn độ ưu tiên cao nhất người tạo đang giữ - không ai tạo được vai trò ngang hàng hay mạnh hơn chính mình.

Xóa một vai trò tùy chỉnh bị chặn khi còn người dùng gán vào nó; xóa thành công sẽ dọn theo mọi quyền đã cấp và liên kết phạm vi của vai trò đó. Ở Back Office, đội vận hành quản lý vai trò tương tự, lọc theo organizer hoặc merchant.

Chỗ dễ sai nhất

Nút Sửa/Xóa hiển thị cho mọi người, quyền chặn ở server

Vai trò cố định không xóa được; sửa tên, mô tả hay độ ưu tiên của một vai trò cố định chỉ dành cho người giữ vai trò Operator trở lên. Trên form, ô độ ưu tiên bị khóa với mọi vai trò cố định, nhưng nút Sửa vẫn hiển thị cho mọi người xem - máy chủ mới là nơi thật sự từ chối nếu không đủ quyền.

Giao diện không tự ẩn hành động theo quyền của người xem. Bấm vào một nút mà mình không đủ quyền sẽ bị từ chối kèm thông báo rõ, chứ không phải nút biến mất trước.

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.