Ana içeriğe geç

Kullanıcı Erişimini Yönetme

Genel Bakış

Kullanıcı erişim yönetim sistemi, uygulamanın hangi kaynaklarına kimin erişebileceği üzerinde detaylı kontrol sağlamak için tasarlanmıştır. Sistem, kullanıcıların gruplara atandığı ve erişim haklarının bu gruplara verildiği rol tabanlı erişim kontrolü (RBAC) modelini kullanmaktadır. Bu, erişimin etkili ve güvenli bir şekilde yönetilmesini sağlar.

Grupları Yönetme

Yeni Grup Oluşturma

  1. Gruplar bölümüne geçiş:
    • Gruplar sekmesini açın.
  2. Grup ekleme:
    • Grup Oluştur butonuna tıklayın.
    • Açıklayıcı bir isim ve etiket belirtin.
    • Başlangıç erişim haklarını atayın.
uyarı

Yeni bir projede her zaman varsayılan olarak Guest grubu oluşturulur.

Erişim Haklarının Miras Alınması

"Gruplar" sekmesinde daha önce oluşturulmuş gruplar hiyerarşik bir şekilde sunulmaktadır, yeni oluşturulan grup, daha önce oluşturulmuş bir gruba bağlanarak ebeveyn gruptan hakları miras alabilir.

uyarı

Ebeveyn grupta bir yol kısıtlaması varsa ve alt grupta da aynı kısıtlama geçersiz kılınırsa, nihai kısıtlama alt grubun kısıtlaması olacaktır, ancak bu yalnızca ebeveyn grupta "Nihai İzin" seçeneği belirtilmemişse geçerlidir.

Zincirdeki Tek Grup

Grup belirtimi yalnızca ne ebeveyn ne de alt grup seçilmediğinde mümkündür.

Erişim Haklarını Değiştirme

"Permissions" sekmesi, erişim haklarını düzenlemek için anahtar bir sekmedir.

Hakların Gruplanması

Eğer daha önce hakları miras almak için bir ebeveyn grup belirlediyseniz, belirlenen erişimlerin tüm bilgileri üstteki tabloda yer alacak, miras alınan hakların düzenlenmesi yasaktır. İstisnalar içeren haklar ve kullanılmayan haklar, aynı tabloda ayrı olarak gruplanır.

Erişim Haklarını Yönetme

Erişim Hakkı Oluşturma

Erişim hakkı oluşturmaya başlamak için "Permissions" sekmesinde "Hakkı Oluştur" butonuna tıklayın.

Erişim hakkı, bir yöntem ve yol kombinasyonundan oluşur.

remove
  1. Minimum izin seti oluşturun:
    • Bu seçenek, gerekli minimum izin setini oluşturarak hak oluşturma görevini minimize etmenizi sağlar.
uyarı

Daha önce belirlenmiş hiçbir izin yoksa kullanılabilir.

  1. Veri sağlama kısıtlamaları belirleyin:
    • Bu seçenek yalnızca "Minimum izin seti oluştur" seçeneği seçildiğinde geçerlidir ve veri sağlama kısıtlaması (10 kayıt) belirler.
  2. API bölümü:
    • Yeni bir erişim oluşturulurken zorunlu bir parametredir, izinlerin seçileceği rotayı belirtir.
  3. Yol:
    • Seçim, API bölümünün seçilmesinden sonra mümkündür ve hakların belirlenmesi için rotayı netleştirir.
  4. İsim:
    • Hakkın adı için zorunlu bir alandır.
  5. "Permissions" Tablosu:
    • Tablo, belirtilen yol için HTTP yöntemlerinin bir seçimini sunar ve "kısıtlama yok" ve "kayıt sayısı kısıtlaması ile" seçeneklerini belirtir.
uyarı

Tabloya göre her yol için her zaman 4 yöntem belirtilmiştir: GET, POST, PUT, DELETE

  1. Ek koşullar Bu koşullar, tüm yollar için değil, yalnızca "listeleme" yolları için görünür ve alınan belgeler üzerinde istisnalar ayarlamanıza olanak tanır.

    • Örneğin, tüm sayfalara erişim sağlamak istiyorsanız ancak bir istisna yapmak istiyorsanız, "Hariç tutmak istediğiniz verileri seçin" butonuna tıklayabilirsiniz. Açılan ek pencerede erişimin kısıtlanacağı verileri seçebilirsiniz. Örneğin, API bölümü için sayfalar, hiyerarşik bir sayfa listesi olarak görüntülenecektir, özellikler bölümü için ise ilgili özellikler görüntülenecektir.

    Ek koşullarla birlikte mevcut yolların listesi:

    • /api/content/admins/all
    • /api/content/attributes-sets
    • /api/content/attributes-sets/{marker}/attributes
    • /api/content/pages
    • /api/content/blocks
    • /api/content/forms
    • /api/content/events/subscriptions
    • /api/content/orders-storage
    • /api/content/product-statuses
    • /api/content/templates
    • /api/content/template-previews
    • /api/content/integration-collections

    Hariç tutmak için veriler seçildikten sonra, iki yeni seçenek belirecektir: "Hariç Tut" - seçilen verilerin hariç tutulmak istendiğini belirtir. "Nihai Hak" - bu hak, tüm alt grup zincirinde miras alınmaz (seçenek yalnızca "Hariç Tut" seçeneği seçildiğinde kullanılabilir).

uyarı

Ek koşulların seçimi, seçilen yola bağlıdır ve her zaman mevcut değildir. Böyle bir seçim mevcut olduğunda, "Seçim için istisnalar mevcut" ibaresi ile işaretlenir.

exceptions_marker

Ayarlama için mevcut yolların listesi

Varsayılan olarak yeni haklar "Kullanılmayan Haklar" bölümüne düşer, etkinleştirmek için, adın solundaki onay kutusuna tıklamanız yeterlidir.

Editor'ü açmak için edit

Silmek için remove

Erişim Haklarını Anlama

Erişim hakları, bir grubun belirli kaynaklarla hangi eylemleri gerçekleştirebileceğini tanımlayan detaylı ayarlardır. API bölümlerine göre organize edilir ve koşullar ile daha da netleştirilebilir.

Tablo'da Hakları Arama

Gerekli hakları tabloda aramak için "Hakları Ara" alanına metin girilir, gerekli API bölümleri seçilir ve "Kullanılmayanları Seç" seçeneği belirlenir.

Nihai Haklar

Nihai haklar sekmesi, aramayı kolaylaştırmak için API bölümlerine göre filtrelenmiş bilgilendirici bir tablodur.

Örnek: Ürünlere Erişim Kısıtlaması

  • API Bölümü: products
  • Erişim Hakları:
    • Okuma (Read): Evet
    • Ekleme (Add): Hayır
    • Düzenleme (Edit): Hayır
    • Silme (Delete): Hayır

API ile Entegrasyon

Sistem, kullanıcılar, gruplar ve erişim hakları üzerinde programlı yönetim sağlamak için bir API sunmaktadır. Aşağıda tipik işlemlere örnekler verilmiştir.

Örnek İstek

/api/content/attributes-sets/product_1/attributes

Token olmadan yetkilendirme ile yanıt (Guest grubu):

[
{
"type": "image",
"value": {},
"marker": "image",
"position": 1,
"listTitles": [],
"validators": {
"requiredValidator": {
"strict": true
}
},
"localizeInfos": {
"title": "image"
},
"additionalFields": []
},
{
"type": "textWithHeader",
"value": {},
"marker": "textheader",
"position": 4,
"listTitles": [],
"validators": {},
"localizeInfos": {
"title": "text header"
},
"additionalFields": []
},
{
"type": "image",
"value": {},
"marker": "image1",
"position": 18,
"listTitles": [],
"validators": {
"sizeInPixelsValidator": {
"maxX": 0,
"maxY": 0
},
"checkingFilesValidator": {
"maxUnits": "kb",
"maxValue": 0,
"minUnits": "mb",
"minValue": 0,
"extensions": []
}
},
"localizeInfos": {
"title": "image"
},
"additionalFields": []
}
]

Yetkilendirme ile yanıt, burada tüm alanlar için izinler verilmiştir:

[
{
"type": "image",
"value": {},
"marker": "image",
"position": 1,
"listTitles": [],
"validators": {
"requiredValidator": {
"strict": true
}
},
"localizeInfos": {
"title": "image"
},
"additionalFields": []
},
{
"type": "textWithHeader",
"value": {},
"marker": "textheader",
"position": 4,
"listTitles": [],
"validators": {},
"localizeInfos": {
"title": "text header"
},
"additionalFields": []
},
{
"type": "image",
"value": {},
"marker": "image1",
"position": 18,
"listTitles": [],
"validators": {
"sizeInPixelsValidator": {
"maxX": 0,
"maxY": 0
},
"checkingFilesValidator": {
"maxUnits": "kb",
"maxValue": 0,
"minUnits": "mb",
"minValue": 0,
"extensions": []
}
},
"localizeInfos": {
"title": "image"
},
"additionalFields": []
},
{
"type": "float",
"value": {},
"marker": "price",
"position": 19,
"listTitles": [],
"validators": {},
"localizeInfos": {
"title": "price"
},
"additionalFields": []
}
]

Görüldüğü gibi, yetkilendirilmiş kullanıcı ek bir fiyat alanı aldı.