permission.json
Sistemdeki tüm yetkilendirme işlemleri permission.json dosyası üzerinden yürütülür. Bu dosyada, kullanıcıların hangi işlemleri yapabileceğini belirleyen izin tanımları yer alır.
Yapı Tanımı
Her yetki bir nesne olarak tanımlanır. Nesne şu alanları içerir:
key: Sistemde kullanılacak yetki anahtarıname: Yetkinin açıklayıcı adı (arayüzde görüntülenir)
Örnek:
[
{
"key": "user_add",
"name": "Kullanıcı Ekleme"
},
{
"key": "user_update",
"name": "Kullanıcı Güncelleme"
},
{
"key": "user_delete",
"name": "Kullanıcı Silme"
},
{
"key": "user_list",
"name": "Kullanıcı Listeleme"
}
]
Kullanım Kuralları
- Sisteme yeni bir modül eklendiğinde, o modüle ait gerekli tüm izinler bu dosyaya eklenmelidir.
- Tanımlanan her yetki, ilgili modülün
routedosyasında kontrol edilmelidir. - Sadece yetkisi olan kullanıcılar, ilgili işlemi gerçekleştirebilir veya veriye erişebilir.
Route Üzerinde Yetki Kontrolü
Her route dosyasında ilgili endpoint'e karşılık gelen yetki tanımlanmalıdır. Örneğin user_add yetkisi olmayan bir kullanıcı, kullanıcı ekleme işlemine erişemez.
Yetkisiz İşlem Uyarısı
Yetkisi olmayan bir kullanıcı bir işlemi gerçekleştirmeye çalıştığında sistem aşağıdaki uyarıyı göstermelidir:
"Bu işlemi yapmaya yetkiniz yok, lütfen sistem yöneticisi ile iletişime geçiniz."
Bu yapı, sistemde rol tabanlı erişim kontrolü (RBAC) için temel oluşturmaktadır. Tutarlılık açısından her modül geliştirildiğinde izin tanımları bu dosyaya eklenmelidir.