Untuk menggunakan Paket Izin Laravel Spatie secara efektif, beberapa konfigurasi dan langkah pengaturan spesifik diperlukan:
Instalasi dan Penerbitan
- Instal paket melalui komposer: `Composer memerlukan spatie/laravel-permisi`.
- Publikasikan file migrasi dan konfigurasi menggunakan perintah Artisan:
`PHP Artisan Vendor: Publish --Provider =" Spatie \ Izin \ IMSISSERVICEPROVIDER "`.
- Jalankan migrasi untuk membuat tabel yang diperlukan (`peran`,` izin`, `model_has_permissions`,` model_has_roles`, `role_has_permissions`) dalam database.
Konfigurasi Model Pengguna
- Model Pengguna (atau model Authenticatable yang ingin Anda tetapkan sebagai peran/izin untuk) harus menggunakan sifat `hasrole` yang disediakan oleh paket. Ini memungkinkan manajemen peran dan izin pada model.
Konfigurasi Penyesuaian File
- Paket menerbitkan file `config/izin.php` di mana Anda dapat menyesuaikan pengaturan seperti nama tabel, pengaturan cache, dan kelas model.
- Jika Anda menggunakan UUID alih-alih ID penambah otomatis, Anda perlu menyesuaikan migrasi dan mungkin file konfigurasi yang sesuai sebelum menjalankan migrasi.
-Untuk pengaturan multi-penyewa atau berbasis tim, Anda harus mengaktifkan dan mengonfigurasi fitur "tim" dalam file konfigurasi.
Konfigurasi cache
- Paket menggunakan caching untuk mengoptimalkan pencarian izin. Secara default, cache kedaluwarsa diatur ke 24 jam.
- Anda dapat menyesuaikan toko cache, awalan, dan waktu kedaluwarsa di `config/permission.php` di bawah array` cache`.
- Dalam skenario multi-tenant, disarankan untuk menetapkan awalan cache yang unik untuk menghindari bentrokan.
- Jika aplikasi Anda beralih penyewa selama satu permintaan, Anda mungkin perlu secara manual menginisialisasi ulang cache izin.
middleware
- Untuk melindungi rute berdasarkan peran atau izin, daftarkan alias middleware paket (`role`,` izin`, `role_or_permission`) dalam konfigurasi kernel atau middleware http Anda.
Kustomisasi lanjutan
- Anda dapat memperluas peran dan model izin paket jika Anda ingin menyesuaikan perilaku, tetapi Anda harus berhati -hati untuk memperbarui file konfigurasi untuk menunjuk ke model khusus Anda.
- Mengubah nama tabel database default membutuhkan memperbarui file konfigurasi dan mungkin migrasi.
- Untuk dukungan UUID atau kasus penggunaan lanjutan lainnya, ikuti bagian dokumentasi lanjutan paket.
Singkatnya, konfigurasi utama melibatkan penerbitan dan menyesuaikan file konfigurasi, menambahkan sifat `hasrole` ke model pengguna Anda, menjalankan migrasi, mengkonfigurasi caching dengan benar, dan secara opsional menyiapkan dukungan middleware dan multi-tenant. Mengikuti langkah -langkah ini memastikan bahwa paket spatie akan bekerja secara efektif dalam aplikasi Laravel Anda [1] [2] [6] [8] [9].
Kutipan:
[1] https://spatie.be/docs/laravel-permission/v6/installation-laravel
[2] https://spatie.be/docs/laravel-permission/v6/perequisites
[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-permissions-roles/
[7] https://github.com/spatie/laravel-slack-alerts/discussions/22
[8] https://github.com/spatie/laravel-permission/blob/main/docs/advanced-usage/cache.md
[9] https://www.allphptricks.com/laravel-11-patie-user-roles-andmissions/
[10] https://stackoverflow.com/questions/58114242/extending-the-patie-role-model-but-use-a-diferent-database-bable