Download the PHP package mukulsmu/laravel-nova-permission without Composer
On this page you can find all versions of the php package mukulsmu/laravel-nova-permission. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mukulsmu/laravel-nova-permission
More information about mukulsmu/laravel-nova-permission
Files in mukulsmu/laravel-nova-permission
Package laravel-nova-permission
Short Description A Laravel Nova tool for Spatie's Permission library.
License MIT
Informations about the package laravel-nova-permission
A Laravel Nova tool for the Spatie Permission package
Fork of abondoned library insenseanalytics/laravel-nova-permission
Not production ready yet, currently writing tests to improve package stability and to develop upgrade path.
This Nova tool lets you:
- manage roles and permissions on the Nova dashboard
- use permissions based authorization for Nova resources
Screenshots
Requirements & Dependencies
There are no PHP dependencies except the Laravel Nova package and the Spatie Permission package.
Installation
You can install this tool into a Laravel app that uses Nova 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 you 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:
Using Custom Role/Permission Resource Classes
If you want to use custom resource classes you can define them when you register a tool:
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:
Contributing
Contributions are welcome and will be fully credited as long as you use PSR-2, explain the issue/feature that you want to solve/add and back your code up with tests. Happy coding!
License
The MIT License (MIT). Please see License File for more information.