Giới thiệu
Quản lý tài khoản quản trị viên với vai trò, quyền hạn và kiểm soát truy cập.
Để biết thêm thông tin về giao diện người dùng của mô-đun, hãy truy cập https://doc.oneentry.cloud/docs/category/administrators
🎯 Mô-đun này làm gì?
Mô-đun Admins cho phép bạn lấy thông tin ai có quyền truy cập vào bảng điều khiển quản trị OneEntry của bạn và họ có thể làm gì.
📖 Giải thích đơn giản
Hãy tưởng tượng bạn đang điều hành một trang web với một đội ngũ:
- 👑 Super Admin - Có thể làm mọi thứ (bạn, người sở hữu).
- 👨💼 Content Manager - Có thể chỉnh sửa các trang và sản phẩm.
- 📝 Editor - Có thể viết bài blog.
- 🎨 Designer - Có thể quản lý hình ảnh và các khối.
- 👀 Viewer - Chỉ có thể xem dữ liệu, không chỉnh sửa.
Thay vì cho mọi người quyền truy cập đầy đủ, bạn:
- Tạo tài khoản quản trị cho các thành viên trong đội.
- Gán vai trò và quyền hạn cụ thể.
- Kiểm soát những gì mỗi người có thể xem và chỉnh sửa.
- Theo dõi ai đã thực hiện thay đổi (dấu vết kiểm toán).
- Thu hồi quyền truy cập khi ai đó rời khỏi đội.
Ví dụ thực tế:
Without Admin Management:
- Everyone shares one account → Can't track who did what.
- Everyone has full access → Risky!
- No control over permissions.
With Admin Management:
- Each team member has their own account.
- Specific permissions per role.
- Full audit trail of changes.
- Easy to add/remove team members.
✨ Khái niệm chính
Quản trị viên là gì?
Một quản trị viên (admin) là người dùng có quyền truy cập cao hơn để quản lý dự án OneEntry của bạn:
- Quyền truy cập - Những phần nào của hệ thống họ có thể truy cập.
- Quyền hạn - Những hành động họ có thể thực hiện (tạo, chỉnh sửa, xóa).
- Vai trò - Vị trí/trách nhiệm của họ (ví dụ: "Content Manager").
- Thông tin tài khoản - Tên, email, trạng thái.
Quản trị viên vs Người dùng thông thường
| Loại | Mục đích | Ví dụ |
|---|---|---|
| Quản trị viên | Quản lý hệ thống (backend) | Bạn, các thành viên trong đội của bạn |
| Người dùng thông thường | Sử dụng ứng dụng/trang web của bạn (frontend) | Khách hàng của bạn, người truy cập trang web |
Sự khác biệt chính: Quản trị viên quản lý nội dung, Người dùng tiêu thụ nội dung.
📋 Những điều bạn cần biết
Thuộc tính của Quản trị viên
Mỗi quản trị viên có những trường chính này:
{
id: 123, // Unique admin ID
attributeSetId: 27, // Unique attribute set ID
identifier: "admin", // Unique identifier
attributeSetIdentifier: "admins", // Unique attribute set identifier
position: 1, // Position
isSync: true, // Whether to sync with the backend
attributeValues: {} // Attribute values
}
Lọc Quản trị viên
Sử dụng bộ lọc để tìm các quản trị viên cụ thể:
Dấu hiệu điều kiện (giống như mô-đun Products):
| Dấu hiệu | Ý nghĩa | Ví dụ |
|---|---|---|
| eq | Bằng | statusId = 1 (chỉ hoạt động) |
| neq | Không bằng | role ≠ "Viewer" |
| in | Chứa (một trong số) | role in ["Editor", "Manager"] |
| nin | Không chứa | email not in ["@temp.com"] |
| exs | Tồn tại (có giá trị) | Có lastLogin |
| nexs | Không tồn tại | Chưa bao giờ đăng nhập |
Cân nhắc về bảo mật
Quan trọng:
- 🔒 Không bao giờ tiết lộ thông tin đăng nhập của quản trị viên trong mã frontend.
- 🔐 Sử dụng mã thông báo bảo mật cho các cuộc gọi API hoặc chứng chỉ mtls.
- 👤 Thực hiện quyền tối thiểu - cấp quyền tối thiểu cần thiết.
- 📝 Kiểm toán thay đổi - theo dõi ai đã làm gì.
- 🚪 Thu hồi quyền truy cập ngay lập tức khi ai đó rời đi.
❓ Câu hỏi thường gặp (FAQ)
Sự khác biệt giữa mô-đun Admins và Users là gì?
- Admins - Quản lý đội ngũ của bạn (người dùng backend quản lý hệ thống).
- Users - Quản lý khách hàng (người dùng frontend sử dụng ứng dụng/trang web của bạn).
Làm thế nào để tôi hạn chế những gì một quản trị viên có thể làm?
Sử dụng vai trò và quyền hạn.
🎓 Thực hành tốt nhất
- Thực hiện quyền tối thiểu (quyền hạn tối thiểu cần thiết).
- Theo dõi hành động của quản trị viên (ai đã làm gì, khi nào).
- Xem xét quyền hạn thường xuyên.
- Sử dụng chính sách mật khẩu mạnh.
- Cân nhắc sử dụng xác thực đa yếu tố.
- Thay đổi mật khẩu của quản trị viên thường xuyên.
Định nghĩa của mô-đun 'Admins'
const { Admins } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
const { Admins } = defineOneEntry( "your-project-url", { "token": "your-app-token" });const body = [ { "attributeMarker": "num", "conditionMarker": "mth", "conditionValue": 1 }];
const response = await Admins.getAdminsInfo(body, "en_US", 0, 30);
Sơ đồ tham số
Sơ đồ: (body)
attributeMarker: string
Định danh văn bản thuộc tính
ví dụ: price
conditionMarker: string
Định danh văn bản điều kiện, các giá trị có thể: 'in' - chứa, 'nin' - không chứa, 'eq' - bằng, 'neq' - không bằng, 'mth' - lớn hơn, 'lth' - nhỏ hơn, 'exs' - tồn tại, 'nexs' - không tồn tại, 'pat' - mẫu, ví dụ -, nơi '' đại diện cho bất kỳ ký tự nào, 'same' - giá trị giống như thuộc tính đã chọn*
ví dụ: in
Enum: [ in, nin, eq, neq, mth, lth, exs, nexs, pat, same ]
conditionValue: number
Giá trị điều kiện
ví dụ: 1