kltn21110's picture
Upload 239 files
325b400 verified
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.**
"""