zizaco/entrust, Laravel uygulamalarına rol tabanlı yetkilendirme (RBAC) eklemek için tasarlanmış bir pakettir. Paket, kullanıcılara roller atamanıza ve bu rollere izinler tanımlamanıza olanak tanır. Laravel 5, 6, 7 ve 8 sürümlerini destekler. Paket, Packagist üzerinde 5 milyondan fazla indirilme ve 6 binden fazla favoriye sahiptir, bu da topluluk tarafından yaygın olarak kullanıldığını gösterir. Ancak, paketin güncel durumu ve Laravel'in yeni sürümleriyle uyumluluğu değerlendirilmelidir.
Hangi ihtiyaçlarda değerlendirilebilir?
- Laravel 5, 6, 7 veya 8 sürümlerini kullanan ve rol tabanlı yetkilendirme ihtiyacı olan projeler
- Kullanıcı rolleri ve izinleri üzerinde esnek bir yapı kurmak isteyen geliştiriciler
- Orta ve büyük ölçekli uygulamalarda yetkilendirme katmanını hızlıca entegre etmek isteyen ekipler
Yaygın kullanım alanları
Yönetim Paneli Yetkilendirme
Admin panelinde farklı roller (admin, editör, yazar) tanımlayarak her rolün erişebileceği sayfaları ve işlemleri izinlerle sınırlandırabilirsiniz.
API Erişim Kontrolü
API uçlarında kullanıcı rollerine göre erişim izni vererek, belirli rollerin yalnızca belirli kaynaklara erişmesini sağlayabilirsiniz.
Çoklu Rol ve İzin Atamaları
Bir kullanıcıya birden fazla rol atayabilir ve her rol için farklı izinler tanımlayarak esnek bir yetkilendirme matrisi oluşturabilirsiniz.
İncelenmesi gereken noktalar
- Paket yalnızca Laravel 5-8 sürümlerini destekler; Laravel 9 ve sonrası için güncelleme veya alternatif değerlendirilmelidir.
- Paketin geliştirilmesi ve bakımı durmuş olabilir; bu nedenle güvenlik güncellemeleri ve topluluk desteği sınırlı olabilir.
- Rol ve izin yapısını kurmadan önce mevcut kullanıcı modeli ve veritabanı şemasıyla uyumluluğu test edilmelidir.
WordPress.org
Kurulum ve geliştirme notları
Paket Composer ile kurulur ve Laravel'e servis sağlayıcı olarak kaydedilir. Kurulum adımları resmi dokümantasyonda ayrıntılı olarak açıklanmıştır.
- 1Composer kullanarak paketi projeye ekleyin.
- 2config/app.php dosyasına servis sağlayıcıyı ve alias'ı ekleyin.
- 3Paketin yayınladığı migration ve config dosyalarını yayınlayın.
- 4Migration'ları çalıştırarak veritabanı tablolarını oluşturun.
- 5Kullanıcı modeline gerekli trait'i ekleyin.
Geliştirme aşamasında paketin sağladığı trait ve metodlar kullanılarak rol ve izin kontrolleri yapılır. Paket, Blade direktifleri ve middleware desteği sunar.
- Kullanıcı modeline EntrustUserTrait eklenerek rol ve izin ilişkileri tanımlanır.
- Rol ve izin oluşturmak için artisan komutları veya model kullanımı desteklenir.
- Blade dosyalarında @role ve @permission direktifleri ile görünüm katmanında yetkilendirme yapılabilir.
- Middleware ile rotaları rol veya izin bazlı koruyabilirsiniz.
Hazır çözümün ötesinde
Özel geliştirme ne zaman değerlendirilebilir?
ZeplinGo olarak, Laravel projelerinizde rol ve izin yönetimini ihtiyaçlarınıza göre tasarlıyor ve geliştiriyoruz. zizaco/entrust paketini mevcut sisteminize entegre edebilir veya daha güncel ve ölçeklenebilir bir çözüm için özel bir yetkilendirme modülü geliştirebiliriz. Projenizin kapsamını birlikte belirleyerek en uygun yaklaşımı planlayalım.
Ücretsiz ön çalışma isteyin →Değerlendirme soruları
zizaco/entrust hangi Laravel sürümlerini destekliyor?
Paket, Laravel 5, 6, 7 ve 8 sürümlerini desteklemektedir.
zizaco/entrust ile rol ve izin yönetimi nasıl yapılır?
Paket, kullanıcı modeline eklenen trait sayesinde roller ve izinler arasında ilişki kurmanızı sağlar. Ardından middleware veya Blade direktifleri ile yetkilendirme kontrolleri yapabilirsiniz.
Paket güncel mi ve yeni Laravel sürümleriyle uyumlu mu?
Paketin resmi açıklaması yalnızca Laravel 5-8 desteğini belirtmektedir. Laravel 9 ve sonrası için güncelleme yapılmamış olabilir; bu nedenle projenizde kullanmadan önce uyumluluğu test etmeniz önerilir.