Skip to content

URD: Quản lý Người dùng

ModulePhiên bảnCập nhật
CORE-01v1.02026-07-15

Module Quản lý Người dùng làm gì

Xác định các yêu cầu hướng người dùng cho Quản lý Người dùng - nền tảng của cả hệ thống. Mọi module khác đều tin vào danh tính và phạm vi mà module này cấp: cách một người tạo tài khoản, xác thực và quản lý hồ sơ; cách một người dùng có thể thuộc nhiều tổ chức (Organizer) cùng lúc; và cách chủ sở hữu quản lý nhân sự trong tổ chức của mình.

Ba trang Client, Sale và Back Office phục vụ ba nhóm người dùng khác hẳn nhau, dùng chung một cơ chế đăng nhập nhưng chặn chéo theo tầng vai trò - tài khoản quản trị nội bộ không lẫn được vào trang khách hàng, và ngược lại.

Năm ý cần hiểu trước

Đây là phần quan trọng nhất của tài liệu. Hiểu năm ý dưới đây là hiểu 80% module.

1. User là một danh tính, tách bạch khỏi vai trò và phạm vi

Một user là một danh tính đã xác thực - nội bộ (operator) hoặc bên ngoài (owner, employee, customer). Vai trò và phạm vi không gắn cứng vào user; chúng được gán riêng và mang theo trong token phiên mỗi lần đăng nhập.

Token phiên (Session Token / JWT) cấp khi đăng nhập, mang user ID, vai trò, ID tổ chức (Organizer) và ID chi nhánh (Merchant) để phân quyền phi trạng thái - đổi vai trò hay phạm vi của một user chỉ có hiệu lực ở lần đăng nhập kế tiếp, không phải ngay lập tức.

2. Ba loại định danh, mỗi loại duy nhất toàn cục

Một định danh (Identifier) là một giá trị đăng nhập gắn với user - username, email hoặc điện thoại. Mỗi giá trị duy nhất toàn cục trong loại của nó: không bao giờ có hai tài khoản cùng một username, hoặc cùng một email hay số điện thoại đã xác minh.

Định danhBắt buộcTrạng thái ban đầu
UsernameBắt buộcTự động coi là đã xác minh
EmailTùy chọnChưa xác minh, cần OTP
Điện thoạiBắt buộc với Owner trở xuống, sau onboardChưa xác minh, cần OTP qua SMS (VNPAY)

Username là định danh chính - đăng ký và đăng nhập bằng username luôn dùng được, không phụ thuộc email hay điện thoại.

3. Vai trò có tám bậc cố định, chia theo tầng để quyết định trang được vào

Có tám vai trò (Role) cố định, seed sẵn và không thể sửa hay xóa - từ Guest (thấp nhất) tới các vai trò nội bộ cao nhất. Ưu tiên vai trò được thực thi: không ai quản lý được vai trò ở mức của mình hoặc cao hơn.

Vai trò chia thành hai tầng, và tầng quyết định trang nào đăng nhập được:

  • Trên Owner (Super Admin, Admin, Operator) - chỉ vào được Back Office. Muốn dùng như một khách hàng thì phải tạo một tài khoản riêng.
  • Owner trở xuống (Owner, Cashier, Employee, Customer) - chỉ vào được Client hoặc Sale, không vào được Back Office.

Việc chặn này nằm ở server, không chỉ ở giao diện - gọi thẳng API cũng bị chặn.

4. Một user thuộc được nhiều tổ chức cùng lúc

Một user không bị giới hạn trong một tổ chức (Organizer) duy nhất - họ có thể thuộc nhiều tổ chức cùng lúc, mỗi nơi giữ một vai trò và phạm vi chi nhánh (Merchant) riêng. Sau đăng nhập, user chọn tổ chức muốn làm việc tại launchpad, và chuyển sang tổ chức khác bất cứ lúc nào bằng bộ chuyển đổi trong app.

Một user được thêm vào tổ chức khác vẫn onboard như user bình thường - vẫn phải xác minh số điện thoại - và vẫn giữ được quyền tự tạo tổ chức riêng của mình.

5. Nhân viên có hai loại: có đăng nhập và chưa có đăng nhập

Chủ sở hữu tạo tài khoản nhân viên và gán họ vào một hoặc nhiều chi nhánh, nhưng không phải nhân viên nào cũng cần đăng nhập ngay. Một nhân viên chưa có đăng nhập vẫn được theo dõi trong hệ thống; cấp đăng nhập cho họ sau này (username + tin đặt mật khẩu) không cần tạo lại từ đầu.

Hai loại có vòng đời off-board khác nhau: nhân viên đang có đăng nhập thì vô hiệu hóa được; nhân viên chưa có đăng nhập chỉ gỡ được, không có ô trạng thái để vô hiệu hóa.

Module có những gì

Năm nhóm feature. Bấm vào mã AREA để sang tab Chi tiết đọc yêu cầu của nhóm đó.

AREATênTrạng thái
AUTHXác thựcMột phần
USRTài khoản Người dùngMột phần
MORGThành viên đa organizerMột phần
EMPQuản lý Nhân viênMột phần
OPSQuản trị Nhân viên Vận hành (BO)Một phần

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