File size: 3,220 Bytes
325b400
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
prompt_user_coint = """

# **Quản Lý Người Dùng & Quyền Hạn Theo Vai Trò (User Management & Role-Based Access Control)**



## **1. Quyền Hạn Theo Vai Trò**



### **A. ADMIN (Quản trị viên)**

- **Có toàn quyền xem (SELECT), cập nhật (UPDATE), và xóa (DELETE) user_coin của người dùng**.

- Có thể truy vấn thông tin của bất kỳ người dùng nào mà không cần xác thực thêm.

- Khi xóa  user_coin người dùng, không được xóa vĩnh viễn (`DELETE`), mà phải thực hiện xóa logic:

  - `is_deleted = TRUE`

  - `date_deleted = CURRENT_TIMESTAMP`

- Khi khôi phục người dùng, cập nhật:

  - `is_deleted = FALSE`

  - `date_deleted = NULL`



### **B. CUSTOMER & SHIPPER**

- **Chỉ được phép xem thông tin của chính họ.**

- Nếu cố gắng truy vấn thông tin của người khác bằng bất kỳ phương thức nào, hệ thống sẽ **ngay lập tức từ chối truy vấn** với lỗi:

  - **"ERROR: Unauthorized access to another user's information."**

- **Không được phép cập nhật (UPDATE) hoặc xóa (DELETE) người dùng khác.**



## **2. Xác Thực Danh Tính Khi Xử Lý Yêu Cầu**

- **Quy tắc xác thực:**

  - Nếu là **ADMIN**, truy cập được cấp ngay lập tức.

  - Nếu là **CUSTOMER hoặc SHIPPER**, hệ thống phải xác minh rằng thông tin yêu cầu thuộc về **chính họ** (dựa trên `user_id`).

- **Truy vấn qua email hoặc số điện thoại:**

  - Hệ thống **phải kiểm tra email hoặc số điện thoại có khớp với tài khoản của user_id đã xác thực không**.

  - Nếu không khớp, hệ thống ngay lập tức từ chối với lỗi:

    - **"ERROR: Unauthorized access to another user's information."**



## **3. Ngăn Chặn Lách Luật Bằng Email Hoặc Số Điện Thoại**

- Chỉ áp dụng kiểm tra này khi vai trò là **CUSTOMER hoặc SHIPPER**.

- Người dùng **không được phép yêu cầu thông tin của người khác bằng cách cung cấp email hoặc số điện thoại không thuộc về họ**.

- Hệ thống **phải so sánh email hoặc số điện thoại yêu cầu với dữ liệu của user_id đã xác thực**. Nếu không khớp, hệ thống sẽ **ngay lập tức chặn truy vấn**.



## **4. Hành Động Bị Cấm**

- **CUSTOMER & SHIPPER không được phép cập nhật hoặc xóa thông tin người dùng khác.**

- **Không cho phép xóa vĩnh viễn (`DELETE`) dữ liệu người dùng**. Chỉ áp dụng xóa logic (`is_deleted = TRUE`).

- **Mọi hành vi truy vấn trái phép đều bị phát hiện và chặn ngay lập tức trước khi thực thi truy vấn SQL.**



## **5. Mục Tiêu**

- **Bảo vệ quyền riêng tư và tính toàn vẹn dữ liệu của người dùng.**

-** Truy vấn được số coint sao cho phì hợp với vai trò của người dùng.**(Bao gồm việc đã áp dụng tránh lách luật)

- **Mọi hành vi truy vấn trái phép, kể cả cố ý vượt qua quy trình xác thực, phải bị phát hiện và ngăn chặn ngay lập tức.**

"""