marcogeorge7/permission-generator

生成包含所有控制器和视图中调用的权限的json文件

v1.0.0 2022-02-01 23:50 UTC

This package is auto-updated.

Last update: 2024-09-05 18:31:12 UTC


README

permission-generator 会扫描你的项目 resources/view/app/ 文件夹以查找 @can(...)Gate::allow(...) 函数,然后基于第一个参数的值创建键并将其插入到json权限文件中。

安装

你只需引入这个包

$ composer require marcogeorge7/permission-generator

此包会自动注册提供者,查看 Laravel 包发现

使用方法

首先,你需要在资源中创建json文件以保存权限

app/
  resources/
    role/
      permissions.json

其次,发布配置文件。

php artisan vendor:publish --provider="PermissionGenerator\Framework\GeneratorServiceProvider"

输出

generator:update 命令将扫描你的代码以识别新的权限键,然后将在 app/resources/role/ 文件夹中更新json文件,并添加这些键。

{
    "access_index": "can access all",
    "create_user": "can create user",
    "update_user": ""
}

如果由于任何原因 artisan 找不到 generator:update 命令,你可以在你的 config/app.php 文件中手动注册提供者

return [
    ...
    'providers' => [
        ...
        PermissionGenerator\Framework\GeneratorServiceProvider::class,
        ...
    ]
]

自定义

你可以更改默认的视图扫描路径和json权限文件的输出。

待办事项

  • 自动创建作为json对象中权限描述的值
  • 将权限插入到数据库的权限表中作为默认项,可以用配置文件替换