Um das Spatie Laravel -Berechtigungspaket effektiv zu verwenden, sind mehrere spezifische Konfigurationen und Einrichtungsschritte erforderlich:
Installation und Veröffentlichung
- Installieren Sie das Paket über Komponist: `Composer benötigt Spatie/Laravel-Permission`.
- Veröffentlichen Sie die Migrations- und Konfigurationsdatei mit dem Befehl Artisan:
`Php Artisan Vendor: Publish -Provider =" Spatie \ Erlaubnis \ permissionServiceProvider "`.
- Führen Sie die Migrationen aus, um die erforderlichen Tabellen ("Rollen", "Berechtigungen", "model_has_permissions", "model_has_roles", "rollen_has_permissions") in der Datenbank zu erstellen.
Benutzermodellkonfiguration
- Das Benutzermodell (oder ein authentifizierbares Modell, das Sie Rollen/Berechtigungen zuweisen möchten) muss das vom Paket bereitgestellte "Hasroles" -Merkmal verwenden. Dies ermöglicht das Rollen- und Berechtigungsmanagement für das Modell.
Konfigurationsdateieinstellungen
- Das Paket veröffentlicht eine Datei `config/thecalmission.php`, in der Sie Einstellungen wie Tabellennamen, Cache -Einstellungen und Modellklassen anpassen können.
- Wenn Sie UUIDs anstelle von automatischen Inkrementierungs-IDs verwenden, müssen Sie die Migrationen und möglicherweise die Konfigurationsdatei entsprechend anpassen, bevor Sie Migrationen ausführen.
-Für Multi-Tenant- oder teambasierte Setups müssen Sie die Funktion "Teams" in der Konfigurationsdatei aktivieren und konfigurieren.
Cache -Konfiguration
- Das Paket verwendet Caching, um die Berechtigungssuche zu optimieren. Standardmäßig ist die Cache -Ablauf auf 24 Stunden festgelegt.
- Sie können den Cache -Store, das Präfix und die Ablaufzeit in `config/thecury.php` unter dem` cache` -Array anpassen.
- In Multi-Tenant-Szenarien ist es ratsam, ein eindeutiges Cache-Präfix festzulegen, um Zusammenstöße zu vermeiden.
- Wenn Ihre App die Mieter während einer einzigen Anfrage wechselt, müssen Sie möglicherweise den Berechtigungscache manuell neu initialisieren.
Middleware
- Um Routen basierend auf Rollen oder Berechtigungen zu schützen, registrieren Sie die Middleware -Aliase des Pakets ("Rollen", "Berechtigung", `rollen_or_permission") in Ihrem HTTP -Kernel- oder Middleware -Konfiguration.
Erweiterte Anpassung
- Sie können die Rolle des Pakets und die Berechtigungsmodelle erweitern, wenn Sie das Verhalten anpassen möchten. Sie müssen jedoch darauf achten, die Konfigurationsdatei so zu aktualisieren, dass sie auf Ihre benutzerdefinierten Modelle verweisen.
- Das Ändern der Namensnamen der Standarddatenbank -Tabelle erfordert die Aktualisierung der Konfigurationsdatei und möglicherweise der Migrationen.
- Befolgen Sie die erweiterten Dokumentationsabschnitte des Pakets für UUID -Unterstützung oder andere erweiterte Anwendungsfälle.
Zusammenfassend beinhalten die wichtigsten Konfigurationen das Veröffentlichen und Anpassen der Konfigurationsdatei, das Hinzufügen des "Hasroles" -Merkmals Ihrem Benutzermodell, Ausführen von Migrationen, ordnungsgemäßem Konfigurieren und optional Einrichten von Middleware und Multi-Tenant-Unterstützung. Das Befolgen dieser Schritte stellt sicher, dass das Spatie -Paket effektiv in Ihrer Laravel -Anwendung funktioniert [1] [2] [6] [8] [9].
Zitate:
[1] https://spatie.be/docs/laravel-permission/v6/installation-laravel
[2] https://spatie.be/docs/laravel-permission/v6/Prerequisites
[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-permission-roles/
[7] https://github.com/spatie/laravel-lack-alerts/discussions/22
[8] https://github.com/spatie/laravel-permission/blob/main/docs/advanced-usage/cache.md
[9] https://www.allphptricks.com/laravel-11-spatie-user-roles-permissions/
[10] https://stackoverflow.com/questions/58114242/extend-the-spatie-role-model-but-use-different-database-table