brand3000 / nova-roles-and-permissions
此包允许将管理员和其他类型用户的角色分离,同时存储在同一个用户表中。此外,它还提供了用于管理Laravel Nova项目管理员权限(读取/编辑)的功能。
v1.0.9
2024-04-24 13:36 UTC
README
此包允许将管理员和其他类型用户的角色分离,同时存储在同一个用户表中。此外,它还提供了用于管理Laravel Nova项目管理员权限(读取/编辑)的功能。
截图
要求
Laravel Nova 4
安装
使用composer安装包
composer require brand3000/nova-roles-and-permissions
发布迁移、模型、资源和策略
请注意,该包将创建/覆盖以下文件
- 模型
- app/Models/Admin.php
- app/Models/User.php
- Nova资源
- app/Nova/Admin.php
- app/Nova/User.php
- 策略
- app/Policies/AdminPolicy.php
- app/Policies/UserPolicy.php
- app/Policies/CorePermissions.php
php artisan vendor:publish --provider="Brand3000\NovaRolesAndPermissions\Publisher" --force
运行新的迁移
php artisan migrate
设置管理员
进入数据库,找到用户表,并将角色_admin列设置为1以选择管理员。此外,对于符合条件的人,将supar_admin列设置为1。如果你在项目中有不同的用户类型,可以自由添加更多role_列以供将来开发使用。
开发期间
在开发期间,你必须将所有希望管理的资源添加到app/Nova/Admin.php nova资源中的fields()函数的$booleanOptions数组中。
在生产状态切换项目之前
进入NovaServiceProvider.php文件,并在gate()函数中添加以下逻辑
Gate::define('viewNova', function ($user) { return $user->role_admin; });