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ế:

Không có Quản lý Quản trị:
- Mọi người chia sẻ một tài khoản → Không thể theo dõi ai đã làm gì.
- Mọi người có quyền truy cập đầy đủ → Rủi ro!
- Không kiểm soát quyền hạn.

Với Quản lý Quản trị:
- Mỗi thành viên trong đội có tài khoản riêng.
- Quyền hạn cụ thể theo vai trò.
- Dấu vết kiểm toán đầy đủ về các thay đổi.
- Dễ dàng thêm/xóa thành viên trong đội.

✨ 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ạ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 Quản trị viên

Mỗi quản trị viên có những trường chính sau:

{
id: 123, // ID quản trị viên duy nhất
attributeSetId: 27, // ID bộ thuộc tính duy nhất
identifier: "admin", // Định danh duy nhất
attributeSetIdentifier: "admins", // Định danh bộ thuộc tính duy nhất
position: 1, // Vị trí
isSync: true, // Có đồng bộ với backend hay không
attributeValues: {} // Giá trị thuộc tính
}

Lọc Quản trị viên

Sử dụng bộ lọc để tìm các quản trị viên cụ thể:

Ký hiệu điều kiện (giống như mô-đun Products):

Ký 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 quản trị trong mã frontend.
  • 🔐 Sử dụng token 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 các 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 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 thuộc tính văn bản
ví dụ: price

conditionMarker: string
Định danh điều kiện văn bả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