Download the PHP package gabrielesbaiz/nova-spatie-permissions without Composer
On this page you can find all versions of the php package gabrielesbaiz/nova-spatie-permissions. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download gabrielesbaiz/nova-spatie-permissions
More information about gabrielesbaiz/nova-spatie-permissions
Files in gabrielesbaiz/nova-spatie-permissions
Package nova-spatie-permissions
Short Description A Laravel Nova tool for the Spatie Permission package
License MIT
Homepage https://github.com/gabrielesbaiz/nova-spatie-permissions
Informations about the package nova-spatie-permissions
NovaSpatiePermissions
A Laravel Nova tool for the Spatie Permission package.
Original code from moroneyio/novaspatiepermissions
Features
- ✅ Manage roles and permissions on the Nova dashboard
- ✅ Use permissions based authorization for Nova resources
Installation
You can install the package via composer:
Next, if you do not have package discovery enabled, you need to register the provider in the config/app.php
file.
Next, you must register the tool with Nova. This is typically done in the tools
method of the NovaServiceProvider
.
Next, add MorphToMany
fields to your app/Nova/User
resource:
Finally, add the ForgetCachedPermissions
class to your config/nova.php
middleware like so:
Localization
You can use the artisan command line tool to publish localization files:
Usage
Permissions Based Authorization for Nova Resources
By default, Laravel Nova uses Policy based authorization for Nova resources. If you are using the Spatie Permission library, it is very likely that you would want to swap this out to permission based authorization without the need to define Authorization policies.
To do so, you can use the PermissionsBasedAuthTrait
and define a permissionsForAbilities
static array property in your Nova resource class like so:
The example above means that all actions on this resource can be performed by users who have the "manage products" permission. You can also define separate permissions for each action like so:
Relationships
To allow your users to specify a relationship on your model, you will need to add another permission on the Model.
For example, if your Product
belongs to User
, add the following permission on app/Nova/User.php
. :
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Joshua
- Gabriele Sbaiz
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
All versions of nova-spatie-permissions with dependencies
spatie/laravel-permission Version ^5.0||^6.4
spatie/laravel-package-tools Version ^1.16
illuminate/contracts Version ^10.0||^11.0||^12.0
laravel/nova Version ^4.0