mirror of
https://github.com/stancl/tenancy-docs.git
synced 2025-12-12 18:24:03 +00:00
Add spatie/laravel-permission
This commit is contained in:
parent
8b47a464a6
commit
0ba5f83b84
1 changed files with 19 additions and 0 deletions
|
|
@ -15,3 +15,22 @@ section: content
|
|||
|
||||
### For the central app: {#activitylog-central}
|
||||
- Set the `database_connection` key in `config/activitylog.php` to the name of your central database connection.
|
||||
|
||||
## laravel-permission {#permission}
|
||||
|
||||
Install the package like usual, but publish the migrations and move them to `migrations/tenant`:
|
||||
|
||||
```
|
||||
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"
|
||||
mv database/migrations/*_create_permission_tables.php database/migrations/tenant
|
||||
```
|
||||
|
||||
Then add this to your `AppServiceProvider::boot()` method:
|
||||
|
||||
```php
|
||||
tenancy()->hook('bootstrapped', function (TenantManager $tenantManager) {
|
||||
\Spatie\Permission\PermissionRegistrar::$cacheKey = 'spatie.permission.cache.tenant.' . $tenantManager->getTenant('id');
|
||||
});
|
||||
```
|
||||
|
||||
The reason for this is that spatie/laravel-permission caches permissions & roles to save DB queries, which means that we need to separate the permission cache by tenant.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue