Merhaba arkadaşlar,
Hepiniz mutlaka rol ve izin yönetimi ile ilgili paketler kullanmışsınızdır. Ben en çok spatie/laravel-permission paketini kullanıyorum.
Fakat şimdi biraz daha spesifik bir ihtiyacım bulunmakta. Saas bir uygulama var,
tek veritabanında
-Firmalar,
-Firmalara bağlı şubeler,
-Şubelere bağlı departmanlar,
-Departmanlara bağlı kullanıcılar,
-Kullanıcıların tablolarda oluşturduğu satırlar var.
İhtiyaçlarımız;
Öyle bir rol ve izin yönetimi kurmalıyız ki aşağıdaki ihtiyaçların tamamına cevap verebilsin.
-Bir kullanıcı sadece kendi firmasına ait veriler üzerinde çalışabilsin,
-Bir kullanıcı sadece kendi şubesine ait veriler üzerinde çalışabilsin,
-Bir kullanıcı sadece kendi şubesindeki kendi departmanında ait veriler üzerinde çalışabilsin,
-Bir kullanıcı sadece kendi verileri üzerinde çalışabilsin,
-Bir kullanıcıya A şubesindeki tüm veriler üzerinde çalışma izni varken B şubesinde sadece C departmanında bulunan kendi verileri üzerinde çalışabilsin.
-Bir kullanıcı X tablosundaki tüm verilere erişebilirken sadece 1,3,5 id li veriler üzerinde güncelleme yapabilsin, (tam tersi de olabilir)
-Bir kullanıcı X tablosundaki hiçbir veriye erişemezken sadece 1 id li veriyi görebilsin ama değiştiremesin, (tam tersi de olabilir)
-Bir kullanıcı A Firmasının kullanıcısı olmasına rağmen T şubesindeki S departmanının verilerini görebilsin, (üstte bulunan daha spesifik işlemler de dahil)
-Tüm işlem izinleri okuma, yazma, güncelleme ve silme işlemlerine göre de özelleştirilebilsin.
... benzeri şekilde devamını tahmin edebilirsiniz.
Daha önce bu kadar derin bir yetkilendirme işlemi yapmış olan var mı?
Evet ise nasıl bir yol izlediniz?
Nasıl bir veritabanı yapısı kurdunuz?
Kullandığınız paket oldu mu?
Sadece Laravel özelinde düşünmeyin, herhangi bir yazılım dilinde veya frameworkünde kullanmış olabilirsiniz. Her türlü fikre açığım.
Herkese iyi forumlar.