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ür | Amaç | Örnek |
|---|---|---|
| Yönetici | Sistemi 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ı):
| İşaret | Anlamı | Örnek |
|---|---|---|
| eq | Eşit | statusId = 1 (sadece aktif) |
| neq | Eşit değil | role ≠ "Görüntüleyici" |
| in | İçerir (birisi) | role in ["Editör", "Yönetici"] |
| nin | İçermez | email not in ["@temp.com"] |
| exs | Vardır (değeri var) | Has lastLogin |
| nexs | Yoktur | Hiç 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