alexkb / nova-permission
Laravel Nova工具,用于Spatie的权限库。
2.1.1
2019-11-03 14:08 UTC
Requires
- php: ^7.2
- spatie/laravel-permission: ^3.0
This package is not auto-updated.
Last update: 2024-10-01 12:03:48 UTC
README
安装
您可以通过composer将此包安装到使用Nova的Laravel应用中
composer require vyuldashev/nova-permission
请参阅安装部分来设置laravel-permission。
接下来,您需要在Nova中注册该工具。这通常在NovaServiceProvider
的tools
方法中完成。
// in app/Providers/NovaServiceProvider.php // ... public function tools() { return [ // ... \Vyuldashev\NovaPermission\NovaPermissionTool::make(), ]; }
接下来,将中间件添加到config/nova.php
// in config/nova.php 'middleware' => [ // ... \Vyuldashev\NovaPermission\ForgetCachedPermissions::class, ],
最后,将MorphToMany
字段添加到您的app/Nova/User
资源中
// ... use Laravel\Nova\Fields\MorphToMany; public function fields(Request $request) { return [ // ... MorphToMany::make('Roles', 'roles', \Vyuldashev\NovaPermission\Role::class), MorphToMany::make('Permissions', 'permissions', \Vyuldashev\NovaPermission\Permission::class), ]; }
自定义
如果您想使用自定义资源类,可以在注册工具时定义它们
// in app/Providers/NovaServiceProvider.php // ... public function tools() { return [ // ... \Vyuldashev\NovaPermission\NovaPermissionTool::make() ->roleResource(CustomRole::class) ->permissionResource(CustomPermission::class), ]; }
用法
安装此包后,在您的Nova应用中会出现一个名为“权限 & 角色”的新菜单项。