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
teamsattribute in theconfig/permission.phpfile 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 useAppServiceProviderinstead.
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 Adminand assign the role to a User -
Add the following trait to the User Model
- In the
bootmethod of theAuthServiceProvideradd 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_modelon theconfig/permissionis correctly set. - Create a Role model which extends
Spatie\Permission\Models\Role - Replace the model in the
config/permission.phpwith the newly created models -
Add the
teamrelationship in both models -
Add the following to the
AdminPanelProviderto 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
If you are using a custom theme from a previous version of filament then there is a possibility that the layout for the roles and permissions will not be full-width. You can set the default column span to 'full' in the config to preserve the v3 default (full-width) layout.
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 ^4.0|^5.0
illuminate/support Version ^9|^10|^11|^12.0|^13.0
spatie/laravel-permission Version ^5.4|^6.0|^7.0|^8.0