marcogeorge7 / permission-generator
生成包含所有控制器和视图中调用的权限的json文件
v1.0.0
2022-02-01 23:50 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- laravel/framework: >=5.4.0
Requires (Dev)
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^9.0
- slevomat/coding-standard: ^6.0
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对象中权限描述的值
- 将权限插入到数据库的权限表中作为默认项,可以用配置文件替换