> ## Documentation Index
> Fetch the complete documentation index at: https://docs.taho.com.vn/llms.txt
> Use this file to discover all available pages before exploring further.

# Tài khoản và phân quyền

> Cách tạo tài khoản, gán tòa nhà, quản lý nhóm quyền và offboard người dùng.

Bạn dùng khu vực **Tài khoản - phân quyền** để tạo nhân viên đăng nhập, giới hạn tòa nhà họ được truy cập và gán nhóm quyền.

## Tạo tài khoản nhân viên

![Quản lý người dùng](https://mintcdn.com/taho-a5b7eb2b/EvnCrV7SdQSoqqYy/images/operations/manage-user.png?fit=max\&auto=format\&n=EvnCrV7SdQSoqqYy\&q=85\&s=d0663d9ca196a4f9872c65debcc73f62)

Màn hình quản lý người dùng và danh sách tài khoản nhân viên

**1. Mở Quản lý người dùng**

Chọn **Thêm nhân viên**.

**2. Nhập hồ sơ và thông tin đăng nhập**

Mã nhân viên và email đăng nhập phải không trùng. Mật khẩu cần ít nhất 8 ký tự, có chữ và số.

**3. Chọn tòa nhà và nhóm quyền**

Tài khoản đang hoạt động phải được gán ít nhất một tòa nhà.

**4. Lưu**

Hệ thống tạo hồ sơ nhân viên, tài khoản đăng nhập và các assignment trong cùng transaction.

## Tình huống thực tế

> **Ví dụ:** Tiếp nhận nhân viên kế toán mới vào ban quản lý tòa nhà:
>
> 1. Mở **Quản lý người dùng**, bấm **Thêm nhân viên**.
> 2. Điền mã nhân viên, họ tên, email công việc và mật khẩu ban đầu.
> 3. Chọn tòa nhà phân công và gán nhóm quyền **Kế toán** (có quyền duyệt bảng kê, lập phiếu thu, đối soát).
> 4. Lưu tài khoản. Nhân viên đăng nhập và chỉ thấy các phân hệ kế toán thuộc tòa nhà được chỉ định.

## Gán quyền cho người dùng

Mở chi tiết người dùng rồi chọn **Phân quyền người dùng** để thay toàn bộ danh sách tòa nhà và nhóm quyền hiện tại. Thay đổi có hiệu lực ở lần request tiếp theo vì authorization được đọc lại từ database.

## Quản lý nhóm quyền

![Danh sách nhóm quyền](https://mintcdn.com/taho-a5b7eb2b/EvnCrV7SdQSoqqYy/images/operations/permission-groups.png?fit=max\&auto=format\&n=EvnCrV7SdQSoqqYy\&q=85\&s=6479a4d3e35d5201c08f92da4b87fd12)

Danh sách nhóm quyền và quản lý phân quyền chức năng trong hệ thống

Trong **Danh sách nhóm quyền**, bạn có thể tạo nhóm, đổi tên, mô tả và chọn tập quyền của nhóm. Tên nhóm trùng hoặc permission ID không hợp lệ bị từ chối.

## Khóa, đặt lại mật khẩu và offboard

* Đổi trạng thái active/inactive yêu cầu quyền riêng.
* Bạn không thể tự khóa tài khoản đang đăng nhập.
* Reset mật khẩu yêu cầu quyền `reset_user_password`.
* Offboard xóa assignment, đánh dấu hồ sơ nhân viên `deleted` và khóa tài khoản đăng nhập.
* Bạn không thể tự offboard chính mình.

## Xử lý lỗi

| Khi gặp | Kiểm tra |
| - | - |
| Không thấy menu hoặc thao tác | Kiểm tra route permission, action permission và tòa nhà được gán. |
| Không lưu được tài khoản active | Tài khoản active phải được gán ít nhất một tòa nhà. |
| Không thể tự khóa hoặc offboard | Source chặn thao tác trên chính tài khoản đang đăng nhập. |
| Super-admin tạo được user nhưng không lưu lại cùng tower assignment | Hai code path đang kiểm tra scope khác nhau. Xem contradiction trong [Permissions matrix](https://docs.taho.com.vn/product-specs/permissions-matrix.md). |

> [accordion] Dành cho kỹ thuật
>
> Login resolve grouped authorization từ `AuthUsers`, `Users`, `UserBuildings`, `UserPermissionGroups` và `PermissionGroupPermissions`. RBAC administration đi qua `POST /admin/rbac` và ghi audit log.

Xem cách kiểm tra quyền tại [Permissions matrix](https://docs.taho.com.vn/product-specs/permissions-matrix.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.