brand3000/nova-roles-and-permissions

此包允许将管理员和其他类型用户的角色分离,同时存储在同一个用户表中。此外,它还提供了用于管理Laravel Nova项目管理员权限(读取/编辑)的功能。

v1.0.9 2024-04-24 13:36 UTC

This package is auto-updated.

Last update: 2024-09-24 14:26:28 UTC


README

此包允许将管理员和其他类型用户的角色分离,同时存储在同一个用户表中。此外,它还提供了用于管理Laravel Nova项目管理员权限(读取/编辑)的功能。

截图

NovaRolesAndPermissions

要求

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;
});