Download the PHP package althinect/filament-spatie-roles-permissions without Composer
On this page you can find all versions of the php package althinect/filament-spatie-roles-permissions. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package filament-spatie-roles-permissions
Description
This plugin is built on top of Spatie's Permission package.
Provides Resources for Roles and Permissions
Permission and Policy generations
- Check the
config/filament-spatie-roles-permissions-config.php
Supports permissions for teams
- Make sure the
teams
attribute in theconfig/permission.php
file is set totrue
Updating
After performing a , run
Note that your existing settings will be overriden
If you like our work Don't forget to STAR the project
Installation
You can install the package via composer:
Since the package depends on Spatie's Permission package. You have to publish the migrations by running:
Add the plugin to the AdminPanelProvider
Now you should add any other configurations needed for the Spatie-Permission package.
Note: This will override your existing config file. You can publish the config file of the package with:
You can publish translations with:
Don't forget to add the HasRoles
trait to your User model.
Usage
Form
You can add the following to your form method in your UserResource
In addition to the field added to the UserResource. There will be 2 Resources published under Roles and Permissions. You can use these resources manage roles and permissions.
Generate Permissions
You can generate Permissions by running
This will not delete any existing permissions. However, if you want to delete all existing permissions, run
There may be an occassion where you wish to hard reset and truncate your existing permissions. To delete all permissions and reset the primary key, run
Example:
If you have a Post model, it will generate the following permissions
Generating Policies
To generate policies use the command below. This won't replace any existing policies
Overriding existing Policies
This will override existing policy classes
Role and Permission Policies
Create a RolePolicy and PermissionPolicy if you wish to control the visibility of the resources on the navigation menu. Make sure to add them to the AuthServiceProvider.
ℹ️ Info: Laravel 11 removed
AuthServiceProvider
, so, in this case, we need to useAppServiceProvider
instead.
Ignoring prompts
You can ignore any prompts by add the flag -Y
or --yes-to-all
Recommended only for new projects as it will replace Policy files
Adding a Super Admin
- Create a Role with the name
Super Admin
and assign the role to a User -
Add the following trait to the User Model
- In the
boot
method of theAuthServiceProvider
add the following
Guard Names
When you use any guard other than web
you have to add the guard name to the config/auth.php
file.
Example: If you use api
guard, you should add the following to the guards
array
Tenancy
-
Make sure to set the following on the
config/permission.php
- Make sure the
team_model
on theconfig/permission
is correctly set. - Create a Role model which extends
Spatie\Permission\Models\Role
- Replace the model in the
config/permission.php
with the newly created models -
Add the
team
relationship in both models -
Add the following to the
AdminPanelProvider
to support tenancy - Use the following within you UserResource
Follow the instructions on Filament Multi-tenancy
Configurations
In the filament-spatie-roles-permissions.php config file, you can customize the permission generation
Security
If you discover any security related issues, please create an issue.
Credits
License
The MIT License (MIT). Please see License File for more information.
Laravel Package Boilerplate
This package was generated using the Laravel Package Boilerplate.
All versions of filament-spatie-roles-permissions with dependencies
filament/filament Version ^3.0
illuminate/support Version ^9|^10|^11
spatie/laravel-permission Version ^5.4|^6.0