Spatie Laravel izin paketini etkin bir şekilde kullanmak için, birkaç özel yapılandırma ve kurulum adımları gereklidir:
Kurulum ve Yayıncılık
- Paketi besteci aracılığıyla yükleyin: `besteci spatie/laravel izin gerektirir '.
- Geçiş ve yapılandırma dosyasını zanaat komutunu kullanarak yayınlayın:
`php esnaf satıcısı: yayınlama --provider =" spatie \ izin \ permsionsionServiceProvider "`.
- Veritabanında gerekli tabloları (`Roles`,` İzinler `,` Model_has_permissions`, `Model_has_roles`,` role_has_permissions`) oluşturmak için geçişleri çalıştırın.
Kullanıcı Modeli Yapılandırması
- Kullanıcı modeli (veya rolleri/izinleri atamak istediğiniz herhangi bir kimlik doğrulama modeli) paket tarafından sağlanan `` HasRoles '' özelliğini kullanmalıdır. Bu, modelde rol ve izin yönetimini sağlar.
yapılandırma dosya ayarlamaları
- Paket, tablo adları, önbellek ayarları ve model sınıfları gibi ayarları özelleştirebileceğiniz bir `config/izin.php` dosyası yayınlar.
- Otomatik kimlikler yerine UUID'ler kullanıyorsanız, geçişleri çalıştırmadan önce geçişleri ve muhtemelen yapılandırma dosyasını ayarlamanız gerekir.
-Çok kiracı veya ekip tabanlı kurulumlar için yapılandırma dosyasındaki "Teams" özelliğini etkinleştirmeniz ve yapılandırmanız gerekir.
Önbellek yapılandırması
- Paket, izin aramalarını optimize etmek için önbellekleme kullanır. Varsayılan olarak, önbellek sona erme 24 saate ayarlanır.
- Önbellek deposu, öneki ve son kullanma süresini `cache` dizisi altında` config/permsiss.php`'de özelleştirebilirsiniz.
- Çok kiracılı senaryolarda, çatışmaları önlemek için benzersiz bir önbellek önekinin belirlenmesi tavsiye edilir.
- Uygulamanız tek bir istek sırasında kiracıları değiştirirse, izin önbelleğini manuel olarak yeniden başlatmanız gerekebilir.
ara katman yazılımı
- Rotaları rollere veya izinlere dayalı olarak korumak için, paketin ara katman yazılımı takma adlarını (`role`,` `izin`,` role_permission`) HTTP çekirdeğinize veya ara katman yazılımı yapılandırmasına kaydedin.
Gelişmiş Özelleştirme
- Davranışı özelleştirmek istiyorsanız paketin rolünü ve izin modellerini genişletebilirsiniz, ancak Config dosyasını özel modellerinize işaret etmek için güncellemeye dikkat etmelisiniz.
- Varsayılan veritabanı tablosu adlarının değiştirilmesi, yapılandırma dosyasının ve muhtemelen geçişlerin güncellenmesini gerektirir.
- UUID desteği veya diğer gelişmiş kullanım durumları için paketin gelişmiş belge bölümlerini izleyin.
Özetle, anahtar yapılandırmalar yapılandırma dosyasının yayınlanmasını ve özelleştirilmesini, kullanıcı modelinize `` HasRoles `özelliğini eklemeyi, geçişleri çalıştırmayı, önbellekleri düzgün bir şekilde yapılandırmayı ve isteğe bağlı olarak ara katman yazılımı ve çoklu kiracı desteği oluşturmayı içerir. Bu adımların izlenmesi, Spatie paketinin Laravel uygulamanızda etkili bir şekilde çalışmasını sağlar [1] [2] [6] [8] [9].
Alıntılar:
[1] https://spatie.be/docs/laravel-upmission/v6/installation-laravel
[2] https://spatie.be/docs/laravel-upmission/v6/preerequisites
[3] https://spatie.be/docs/laravel-data/v4/requirements
[4] https://packagist.org/packages/spatie/laravel-settings
[5] https://spatie.be/docs/laravel-html/v3/installation-setup
[6] https://www.honeybadger.io/blog/laravel-upmissions-roles/
[7] https://github.com/spatie/laravel-slack-allerts/discussions/22
[8] https://github.com/spatie/laravel-upmission/blob/main/docs/advanced-usage/cache.md
[9] https://www.allphptricks.com/laravel-11-satie-user-role-nes- ve-permissions/
[10] https://stackoverflow.com/questions/58114242/extending-the-spatie-role-model-ususe-a-a-different-database-masa