Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Apakah ada konfigurasi spesifik yang diperlukan untuk menggunakan paket spatie secara efektif


Apakah ada konfigurasi spesifik yang diperlukan untuk menggunakan paket spatie secara efektif


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