Nhảy đến nội dung

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.

🎯 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 và Người dùng thông thường

LoạiMục đíchVí dụ
Quản trị viênQuả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ườngSử 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ĩaVí dụ
eqBằngstatusId = 1 (chỉ hoạt động)
neqKhông bằngrole ≠ "Viewer"
inChứa (một trong số)role in ["Editor", "Manager"]
ninKhông chứaemail not in ["@temp.com"]
exsTồn tại (có giá trị)Có lastLogin
nexsKhông tồn tạiChư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.

Để 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


Đị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