Module Quản lý Người dùng và Vai trò (ABP Identity)
Module Quản lý Người dùng và Vai trò cung cấp giải pháp toàn diện để quản lý người dùng, vai trò và phân quyền trong hệ thống EMOS. Module này được xây dựng trên ABP Framework Identity module, tích hợp với các dịch vụ khác để đảm bảo bảo mật và quản lý truy cập hiệu quả.
Khái niệm chính
Phần tiêu đề “Khái niệm chính”User (Người dùng)
Phần tiêu đề “User (Người dùng)”- Định nghĩa: Tài khoản người dùng trong hệ thống
- Mục đích: Xác thực và phân quyền người dùng
- Thuộc tính: Tên đăng nhập, Email, Mật khẩu, Thông tin cá nhân
Role (Vai trò)
Phần tiêu đề “Role (Vai trò)”- Định nghĩa: Nhóm quyền được gán cho người dùng
- Mục đích: Quản lý quyền truy cập theo nhóm
- Đặc điểm: Public role, Default role
Permission (Quyền)
Phần tiêu đề “Permission (Quyền)”- Định nghĩa: Quyền hạn cụ thể để thực hiện hành động
- Mục đích: Kiểm soát chi tiết quyền truy cập
- Cấu trúc: Có thể được nhóm lại thành vai trò
Organization Unit (Đơn vị Tổ chức)
Phần tiêu đề “Organization Unit (Đơn vị Tổ chức)”- Định nghĩa: Cấu trúc tổ chức dạng cây
- Mục đích: Phân cấp quản lý người dùng và vai trò
- Đặc điểm: Có thể gán người dùng và vai trò vào đơn vị
Branch (Chi nhánh)
Phần tiêu đề “Branch (Chi nhánh)”- Định nghĩa: Mở rộng Organization Unit để hỗ trợ Multi-Branch
- Mục đích: Phân quyền và cô lập dữ liệu theo chi nhánh
- Đặc điểm: Người dùng có thể thuộc nhiều chi nhánh
Tính năng chính
Phần tiêu đề “Tính năng chính”1. Quản lý Người dùng (User Management)
Phần tiêu đề “1. Quản lý Người dùng (User Management)”Điều hướng: Menu Identity Management → Users
Mục đích: Tạo và quản lý tài khoản người dùng
Chức năng chính:
- Tạo Người dùng: Tạo tài khoản người dùng mới
- Chỉnh sửa: Cập nhật thông tin người dùng
- Xóa: Xóa tài khoản người dùng
- Khóa/Mở khóa: Khóa hoặc mở khóa tài khoản
- Đặt lại Mật khẩu: Đặt lại mật khẩu cho người dùng
- Gán Vai trò: Gán vai trò cho người dùng
- Gán Chi nhánh: Gán người dùng vào chi nhánh
Các bước Tạo người dùng:
- Nhấp “Thêm” → “New User”
- Nhập thông tin cơ bản:
- Tên đăng nhập (bắt buộc)
- Email (bắt buộc)
- Số điện thoại
- Họ và tên
- Thiết lập mật khẩu:
- Nhập mật khẩu mới
- Xác nhận mật khẩu
- Gán vai trò (nếu cần)
- Gán chi nhánh (nếu cần)
- Lưu
Thông tin Người dùng:
- Thông tin cá nhân: Tên, Họ, Email, Số điện thoại
- Tài khoản: Tên đăng nhập, Trạng thái, Khóa/Mở khóa
- Xác thực: Xác thực hai yếu tố, Mật khẩu
- Vai trò: Danh sách vai trò được gán
- Chi nhánh: Chi nhánh thuộc về
Lưu ý quan trọng:
- Không thể xóa tài khoản của chính mình
- Email phải là duy nhất trong hệ thống
- Mật khẩu phải đáp ứng yêu cầu bảo mật
2. Quản lý Vai trò (Role Management)
Phần tiêu đề “2. Quản lý Vai trò (Role Management)”Điều hướng: Menu Identity Management → Roles
Mục đích: Tạo và quản lý vai trò trong hệ thống
Chức năng chính:
- Tạo Vai trò: Tạo vai trò mới
- Chỉnh sửa: Cập nhật thông tin vai trò
- Xóa: Xóa vai trò
- Quản lý Quyền: Gán quyền cho vai trò
- Public Role: Đặt vai trò là public để mọi người có thể thấy
Các bước Tạo vai trò:
- Nhấp “Thêm” → “New Role”
- Nhập thông tin:
- Tên vai trò (bắt buộc)
- Mô tả
- Thiết lập Quyền:
- Chọn các quyền cho vai trò
- Quyền được tổ chức theo nhóm
- Thiết lập Public Role (nếu cần)
- Lưu
Các Vai trò mặc định:
- Admin: Quản trị viên với tất cả quyền
- User: Người dùng thông thường
- Support: Nhân viên hỗ trợ
- Technician: Kỹ thuật viên
Quản lý Quyền:
- Quyền được tổ chức theo nhóm module
- Có thể gán nhiều quyền cho một vai trò
- Quyền có thể được kế thừa từ vai trò khác
3. Quản lý Đơn vị Tổ chức (Organization Unit Management)
Phần tiêu đề “3. Quản lý Đơn vị Tổ chức (Organization Unit Management)”Điều hướng: Menu Organization Units
Mục đích: Tạo cấu trúc tổ chức và gán người dùng/vai trò
Chức năng chính:
- Tạo Đơn vị: Tạo đơn vị tổ chức mới
- Cấu trúc Cây: Tổ chức dạng cây phân cấp
- Gán Người dùng: Gán người dùng vào đơn vị
- Gán Vai trò: Gán vai trò vào đơn vị
- Quản lý Cây: Xem và chỉnh sửa cấu trúc cây
Cấu trúc Cây:
Tổng Công ty├── Phòng Kỹ thuật│ ├── Nhóm Máy Tính│ └── Nhóm Mạng├── Phòng Kinh doanh│ ├── Nhóm Bán hàng│ └── Nhóm Marketing└── Phòng Hành chínhCác bước Tạo đơn vị:
- Nhấp “Thêm” → “New Organization Unit”
- Nhập tên đơn vị
- Chọn đơn vị cha (nếu là đơn vị con)
- Lưu
- Gán người dùng hoặc vai trò vào đơn vị
4. Quản lý Chi nhánh (Branch Management)
Phần tiêu đề “4. Quản lý Chi nhánh (Branch Management)”Điều hướng: Menu Branches
Mục đích: Quản lý chi nhánh và phân quyền theo chi nhánh
Chức năng chính:
- Tạo Chi nhánh: Tạo chi nhánh mới
- Thông tin Chi nhánh: Quản lý thông tin chi nhánh
- Gán Người dùng: Gán người dùng vào chi nhánh
- Gán Vai trò: Gán vai trò vào chi nhánh
- Truy cập Mặc định: Thiết lập chi nhánh mặc định
Thông tin Chi nhánh:
- Mã: Mã chi nhánh
- Tên: Tên chi nhánh
- Địa chỉ: Địa chỉ chi nhánh
- Thông tin liên hệ: Điện thoại, Email
- URL Mặc định: URL mặc định của chi nhánh
- Vai trò Mặc định: Vai trò mặc định cho chi nhánh
Multi-Branch Support:
- Người dùng có thể thuộc nhiều chi nhánh
- Quyền có thể được phân biệt theo chi nhánh
- Dữ liệu được cô lập theo chi nhánh
- Có thể chuyển đổi giữa các chi nhánh
5. Quản lý Quyền (Permission Management)
Phần tiêu đề “5. Quản lý Quyền (Permission Management)”Điều hướng: Menu Identity Management → Roles → Chọn vai trò → Permissions
Mục đích: Quản lý quyền truy cập chi tiết
Chức năng chính:
- Xem Quyền: Xem tất cả quyền trong hệ thống
- Gán Quyền: Gán quyền cho vai trò
- Nhóm Quyền: Quyền được tổ chức theo nhóm module
- Quyền Nâng cao: Quyền có thể được kế thừa
Cấu trúc Quyền:
Group: ModuleName├── Permission: View├── Permission: Create├── Permission: Edit├── Permission: Delete└── Permission: ProcessCác loại Quyền:
- Quyền Cơ bản: Xem, Tạo, Sửa, Xóa
- Quyền Nâng cao: Xử lý, Duyệt, Xuất
- Quyền Đặc biệt: Impersonation, Audit Log
6. Impersonation (Giả mạo Người dùng)
Phần tiêu đề “6. Impersonation (Giả mạo Người dùng)”Điều hướng: Menu Users → Chọn người dùng → Impersonate
Mục đích: Đăng nhập như người dùng khác để hỗ trợ
Chức năng chính:
- Giả mạo: Đăng nhập như người dùng khác
- Hỗ trợ: Giúp giải quyết vấn đề của người dùng
- Quay lại: Quay lại tài khoản của mình
Lưu ý quan trọng:
- Chỉ Admin mới có quyền impersonation
- Mọi hành động được ghi lại trong audit log
- Người dùng biết khi được impersonate
7. Security Logs (Nhật ký Bảo mật)
Phần tiêu đề “7. Security Logs (Nhật ký Bảo mật)”Điều hướng: Menu Security Logs
Mục đích: Theo dõi các hoạt động bảo mật
Chức năng chính:
- Đăng nhập: Theo dõi lịch sử đăng nhập
- Thất bại: Theo dõi các lần đăng nhập thất bại
- Thay đổi: Theo dõi thay đổi mật khẩu
- Khóa: Theo dõi khóa tài khoản
Thông tin Nhật ký:
- Người dùng
- Thời gian
- Hành động
- Kết quả (Thành công/Thất bại)
- Địa chỉ IP
- User Agent
Tích hợp với các Module khác
Phần tiêu đề “Tích hợp với các Module khác”Administration Service
Phần tiêu đề “Administration Service”- Quản lý settings
- Audit logging
- Language management
Saas Service
Phần tiêu đề “Saas Service”- Multi-tenancy support
- Tenant management
Module khác
Phần tiêu đề “Module khác”- Quyền được định nghĩa trong từng module
- Tích hợp với Branch management
Thực hành tốt nhất
Phần tiêu đề “Thực hành tốt nhất”- Quản lý Mật khẩu: Yêu cầu mật khẩu mạnh
- Phân quyền: Áp dụng nguyên tắc least privilege
- Audit Log: Theo dõi tất cả thay đổi
- Multi-Factor: Bật xác thực hai yếu tố cho Admin
- Khóa Tài khoản: Tự động khóa sau nhiều lần đăng nhập sai
- Đặt lại Mật khẩu: Định kỳ yêu cầu đặt lại mật khẩu
- Impersonation: Chỉ sử dụng khi cần thiết
Kịch bản phổ biến
Phần tiêu đề “Kịch bản phổ biến”Kịch bản 1: Tạo người dùng mới
Phần tiêu đề “Kịch bản 1: Tạo người dùng mới”- Nhấp “Add” → “New User”
- Nhập thông tin cơ bản
- Thiết lập mật khẩu
- Gán vai trò phù hợp
- Gán chi nhánh
- Lưu và gửi thông tin đăng nhập
Kịch bản 2: Thay đổi quyền vai trò
Phần tiêu đề “Kịch bản 2: Thay đổi quyền vai trò”- Chọn vai trò cần chỉnh sửa
- Mở mục Permissions
- Chọn hoặc bỏ chọn quyền
- Lưu thay đổi
- Thay đổi có hiệu lực ngay lập tức
Kịch bản 3: Khóa tài khoản
Phần tiêu đề “Kịch bản 3: Khóa tài khoản”- Tìm người dùng cần khóa
- Nhấp “Lock”
- Xác nhận khóa
- Người dùng không thể đăng nhập
- Nhấp “Unlock” để mở khóa
Kịch bản 4: Đặt lại mật khẩu
Phần tiêu đề “Kịch bản 4: Đặt lại mật khẩu”- Chọn người dùng
- Nhấp “Reset Password”
- Nhập mật khẩu mới
- Xác nhận mật khẩu
- Gửi thông tin cho người dùng
Báo cáo
Phần tiêu đề “Báo cáo”Báo cáo Người dùng (User Report)
Phần tiêu đề “Báo cáo Người dùng (User Report)”- Tổng số người dùng
- Người dùng theo vai trò
- Người dùng theo chi nhánh
- Trạng thái tài khoản
Báo cáo Bảo mật (Security Report)
Phần tiêu đề “Báo cáo Bảo mật (Security Report)”- Lịch sử đăng nhập
- Thất bại đăng nhập
- Thay đổi mật khẩu
- Khóa tài khoản
Module liên quan
Phần tiêu đề “Module liên quan”- Administration Service: Settings, audit logging
- Saas Service: Multi-tenancy
- Tất cả Modules: Sử dụng Identity để phân quyền
Quyền
Phần tiêu đề “Quyền”- Xem:
IdentityManagement.View- Xem người dùng và vai trò - Tạo:
IdentityManagement.Create- Tạo người dùng và vai trò - Chỉnh sửa:
IdentityManagement.Edit- Sửa đổi người dùng và vai trò - Xóa:
IdentityManagement.Delete- Xóa người dùng và vai trò - Thay đổi Quyền:
ChangePermissions- Thay đổi quyền - Impersonation:
Impersonation- Giả mạo người dùng - Security Logs:
SecurityLogs- Xem nhật ký bảo mật
Khắc phục sự cố
Phần tiêu đề “Khắc phục sự cố”Vấn đề: Không thể đăng nhập
- Giải pháp: Kiểm tra tài khoản có bị khóa không, kiểm tra mật khẩu
Vấn đề: Không có quyền truy cập
- Giải pháp: Kiểm tra vai trò và quyền được gán
Vấn đề: Không thể tạo người dùng
- Giải pháp: Kiểm tra quyền và email có trùng không
Vấn đề: Impersonation không hoạt động
- Giải pháp: Kiểm tra quyền impersonation
Tài nguyên bổ sung
Phần tiêu đề “Tài nguyên bổ sung”- Xem Administration Service để quản lý settings
- Xem Saas Service để quản lý multi-tenancy
- Xem tài liệu ABP Framework chính thức