Ana içeriğe geç

Giriş

Yönetici hesaplarını roller, izinler ve erişim kontrolü ile yönetin.

🎯 Bu modül ne yapar?

Admins modülü, OneEntry yönetici panelinize kimin erişimi olduğunu ve neler yapabileceğini almanızı sağlar.

📖 Basit Açıklama

Bir ekiple bir web sitesi yönettiğinizi hayal edin:

  • 👑 Süper Yönetici - Her şeyi yapabilir (sizin, sahibi).
  • 👨‍💼 İçerik Yöneticisi - Sayfaları ve ürünleri düzenleyebilir.
  • 📝 Editör - Blog yazıları yazabilir.
  • 🎨 Tasarımcı - Görselleri ve blokları yönetebilir.
  • 👀 Görüntüleyici - Sadece verileri görüntüleyebilir, düzenleme yapamaz.

Herkese tam erişim vermek yerine:

  • Ekip üyeleri için yönetici hesapları oluşturursunuz.
  • Belirli roller ve izinler atarsınız.
  • Her kişinin görebileceği ve düzenleyebileceği şeyleri kontrol edersiniz.
  • Değişiklikleri kimin yaptığını takip edersiniz (denetim kaydı).
  • Birisi ekipten ayrıldığında erişimi iptal edersiniz.

Gerçek dünya örneği:

Yönetici Yönetimi Olmadan:
- Herkes bir hesabı paylaşıyor → Kimin ne yaptığını takip edemiyorsunuz.
- Herkesin tam erişimi var → Riskli!
- İzinler üzerinde kontrol yok.

Yönetici Yönetimi ile:
- Her ekip üyesinin kendi hesabı var.
- Rol başına belirli izinler.
- Değişikliklerin tam denetim kaydı.
- Ekip üyelerini eklemek/çıkarmak kolay.

✨ Temel Kavramlar

Yönetici Nedir?

Yönetici (admin), OneEntry projenizi yönetmek için yükseltilmiş erişime sahip bir kullanıcıdır:

  • Erişim hakları - Sistemin hangi kısımlarına erişebilecekleri.
  • İzinler - Hangi eylemleri gerçekleştirebilecekleri (oluşturma, düzenleme, silme).
  • Rol - Pozisyonları/sorumlulukları (örneğin, "İçerik Yöneticisi").
  • Hesap bilgileri - İsim, e-posta, durum.

Yönetici ve Normal Kullanıcı

TürAmaçÖrnek
YöneticiSistemi yönetir (arka uç)Siz, ekip üyeleriniz
Normal KullanıcıUygulamanızı/web sitenizi kullanır (ön uç)Müşterileriniz, web sitesi ziyaretçileri

Ana fark: Yöneticiler içeriği yönetir, Kullanıcılar içeriği tüketir.

📋 Bilmeniz Gerekenler

Yönetici Nitelikleri

Her yöneticinin bu ana alanları vardır:

{
id: 123, // Benzersiz yönetici ID'si
attributeSetId: 27, // Benzersiz nitelik seti ID'si
identifier: "admin", // Benzersiz tanımlayıcı
attributeSetIdentifier: "admins", // Benzersiz nitelik seti tanımlayıcı
position: 1, // Pozisyon
isSync: true, // Arka uç ile senkronize olup olmayacağı
attributeValues: {} // Nitelik değerleri
}

Yöneticileri Filtreleme

Belirli yöneticileri bulmak için filtreleri kullanın:

Koşul işaretleri (Products modülü ile aynı):

İşaretAnlamıÖrnek
eqEşitstatusId = 1 (sadece aktif)
neqEşit değilrole ≠ "Görüntüleyici"
inİçerir (birisi)role in ["Editör", "Yönetici"]
ninİçermezemail not in ["@temp.com"]
exsVardır (değeri var)Has lastLogin
nexsYokturHiç giriş yapmadı

Güvenlik Dikkat Edilmesi Gerekenler

Önemli:

  • 🔒 Yönetici kimlik bilgilerini ön uç kodunda asla açığa çıkarmayın.
  • 🔐 API çağrıları için güvenli token'lar kullanın veya mtls sertifikaları.
  • 👤 En az ayrıcalık ilkesini uygulayın - gereken minimum izinleri verin.
  • 📝 Değişiklikleri denetleyin - kimin ne yaptığını takip edin.
  • 🚪 Birisi ayrıldığında erişimi hemen iptal edin.

❓ Sıkça Sorulan Sorular (SSS)

Admins ve Users modülleri arasındaki fark nedir?

  • Admins - Ekibinizi yönetir (sistemi yöneten arka uç kullanıcıları).
  • Users - Müşterileri yönetir (uygulamanızı/web sitenizi kullanan ön uç kullanıcıları).

Bir yöneticinin ne yapabileceğini nasıl kısıtlarım?

roller ve izinler.

🎓 En İyi Uygulamalar

  • En az ayrıcalık ilkesini uygulayın (gerekli minimum izinler).
  • Yönetici eylemlerini takip edin (kimin ne yaptığını, ne zaman).
  • İzinleri düzenli olarak gözden geçirin.
  • Güçlü şifre politikaları kullanın.
  • Çok faktörlü kimlik doğrulama kullanmayı düşünün.
  • Yönetici şifrelerini düzenli olarak değiştirin.

Modülün kullanıcı arayüzü hakkında daha fazla bilgi için https://doc.oneentry.cloud/docs/category/administrators adresini ziyaret edin.


'Admins' modülünün tanımı


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);

Parametreler şeması

Şema: (body)

attributeMarker: string
Metin tanımlayıcı niteliği
örnek: price

conditionMarker: string
Metin tanımlayıcı koşul, olası değerler: 'in' - içerir, 'nin' - içermez, 'eq' - eşit, 'neq' - eşit değil, 'mth' - daha fazla, 'lth' - daha az, 'exs' - vardır, 'nexs' - yoktur, 'pat' - desen, örneğin -, burada '' herhangi bir karakteri temsil eder, 'same' - seçilen nitelik ile aynı değer*
örnek: in
Enum: [ in, nin, eq, neq, mth, lth, exs, nexs, pat, same ]

conditionValue: number
Koşul değeri
örnek: 1