jefremassingue/spatie-permission-generate

v1.0.0 2023-04-01 20:14 UTC

This package is auto-updated.

Last update: 2024-09-11 00:29:54 UTC


README

Spatie Permission Generate 是一个基于目录、控制器类名和方法生成 spatie/laravel-permission 权限的包。

例如,Admin\UserController 的 index 方法 => 将具有权限 admin-user-index

安装

您可以通过 composer 安装此包

composer require jefremassingue/spatie-permission-generate

使用方法

在使用此包之前,您需要安装和配置 spatie/laravel-permission (https://github.com/spatie/laravel-permission)。

// Run synchronizelPermission method to generate permissions
    $hasGenarate = \Jefre\SpatiePermissionGenerate\SpatiePermissionGenerate::synchronizelPermission();
// Change the guard name for permissions with a given prefix
    $numPermissionsUpdated = \Jefre\SpatiePermissionGenerate\SpatiePermissionGenerate::changeGuardWithPrefix('api-', 'api');
    

Laravel 中的安装

// Set the following keys in your `.env` file:

SPG_CONTROLLERS_ROOT_PATH='app/Http/Controllers'
SPG_IGNORE_CLASSES_FILES='Controller,Helper\Upload, Other classes you want ignore'
SPG_CONTROLLER_CLASSES_SUFFIX='Controller,_controller'
SPG_IGNORE_METHODS_AND_FUNCTIONS='__construct'
SPG_DEFAULT_GUARD='web'

测试

要运行测试,请执行以下命令

composer test

示例

考虑一个位于 /app/Http/Controllers/API/UserController.php 的文件

<?php

namespace App\Http\Controllers\API;

...

class UserController extends Controller
{
    public function __construct() {}
    public function index(){}
    public function create(){}
    public function store(Request $request){}
    public function show($id){}
    public function edit($id){}
    public function update(Request $request, $id){}
    public function destroy($id){}
}

生成的权限将是

api-user-index api-user-create api-user-store api-user-show api-user-edit api-user-update api-user-destroy

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

安全性

如果您发现任何安全相关的问题,请通过电子邮件 jefremassingue.jm@gmail.comalbinomateve@gmail.com 而不是使用问题跟踪器。

致谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件

PHP 包模板

此包是使用 PHP 包模板 生成的。