> For the complete documentation index, see [llms.txt](https://docs.monpos.vn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.monpos.vn/quan-tri-and-cau-hinh/auth.md).

# Đăng nhập & Phân quyền

Mon POS được trang bị cơ chế xác thực người dùng an toàn, bảo vệ dữ liệu kinh doanh cục bộ bằng thuật toán mã hóa mật khẩu hiện đại, đảm bảo tính riêng tư và phân quyền truy cập chặt chẽ cho từng vị trí nhân sự.

***

## 1. Giới thiệu tổng quan

Tính năng **Đăng nhập & Xác thực** giúp:

* **Bảo mật dữ liệu**: Ngăn chặn người lạ truy cập và sửa đổi số liệu bán hàng, kho bãi hoặc công nợ trên máy tính của bạn.
* **Phân chia vai trò (Role-based Access)**: Định hình quyền hạn sử dụng phần mềm của từng tài khoản khi đăng nhập:
  * **Quản trị viên (Admin)**: Toàn quyền cấu hình hệ thống, quản lý nhân sự, xem báo cáo tài chính và xuất nhập dữ liệu.
  * **Nhân viên (Staff)**: Chỉ được phép sử dụng màn hình bán hàng POS, tra cứu thông tin sản phẩm và một số chức năng cơ bản được admin kích hoạt.
* **Nhật ký hệ thống (Audit Logs)**: Tự động ghi lại lịch sử các hành động đăng nhập, đăng xuất và các thao tác CRUD dữ liệu nhạy cảm của từng tài khoản.

***

## 2. Giao diện và các chức năng chính

### A. Màn hình Đăng nhập (LoginPage)

* **Tên đăng nhập (Username)**: Tên định danh duy nhất của tài khoản (không phân biệt chữ hoa, chữ thường).
* **Mật khẩu (Password)**: Chuỗi mật khẩu bảo mật (có biểu tượng mắt để ẩn/hiển thị ký tự khi gõ).
* **Nút Bản quyền**: Cho phép chuyển nhanh tới màn hình kiểm tra thông tin bản quyền và kích hoạt máy.

### B. Thông tin đăng nhập mặc định (Mới khởi tạo lần đầu)

* **Tên đăng nhập**: `admin`
* **Mật khẩu**: `admin`
* *Lưu ý: Chủ cửa hàng cần đổi mật khẩu tài khoản admin ngay sau khi cài đặt phần mềm để đảm bảo an toàn.*

***

## 3. Quy trình thao tác chi tiết

### Chức năng 1: Đăng nhập vào hệ thống

1. Khởi động ứng dụng Mon POS trên máy tính.
2. Tại màn hình đăng nhập, nhập **Tên đăng nhập** và **Mật khẩu** được cấp.
3. Bấm **Đăng nhập** (hoặc nhấn phím **Enter** trên bàn phím).
4. Nếu thông tin chính xác, hệ thống sẽ tự động chuyển tới màn hình làm việc chính (Trang chủ Dashboard hoặc Màn hình bán hàng POS tùy quyền hạn).

### Chức năng 2: Đăng xuất khỏi hệ thống

1. Khi kết thúc ca làm việc hoặc cần bàn giao máy cho nhân viên khác:
2. Di chuyển chuột lên góc trên bên phải, click vào **Tên tài khoản** của bạn.
3. Menu dropdown hiện ra, click chọn **Đăng xuất**.
4. Hệ thống sẽ xóa phiên làm việc hiện tại và đưa bạn quay trở lại màn hình Đăng nhập một cách an toàn.

***

## 4. Các lưu ý quan trọng & Quy tắc nghiệp vụ

> \[!IMPORTANT] **Quy tắc mã hóa mật khẩu**:
>
> * Ở chế độ Desktop Tauri Mode, toàn bộ mật khẩu người dùng được mã hóa bằng thuật toán **Argon2** cực kỳ bảo mật tại Rust backend trước khi lưu vào SQLite.
> * Bản thân lập trình viên hay nhà phát hành phần mềm cũng không thể đọc được mật khẩu gốc của bạn từ cơ sở dữ liệu.
> * Nếu bạn quên mật khẩu của tài khoản Admin, bạn cần liên hệ kỹ thuật để reset trực tiếp qua file SQLite gốc hoặc cài lại data trống.

> \[!WARNING] **Giới hạn tính năng khi đăng nhập quyền Nhân viên (Staff)**:
>
> * Tài khoản có quyền **Staff** sẽ tự động bị ẩn các menu: *Quản lý nhân viên, Báo cáo doanh thu tài chính, Cài đặt hệ thống*.
> * Khi nhân viên Staff cố tình truy cập các đường dẫn quản trị bằng các thủ thuật khác, hệ thống sẽ chặn và hiển thị thông báo lỗi phân quyền.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.monpos.vn/quan-tri-and-cau-hinh/auth.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
