vdes/permision_roles

VDES 用户权限角色

1.2.0 2023-06-14 05:15 UTC

This package is auto-updated.

Last update: 2024-09-14 07:47:50 UTC


README

composer install vdes/permisionrole

安装方法

将以下代码添加到位于 config 文件夹中的 app.php 文件中

'providers' => [
    ....
    Vdes\PermisionRoles\PermissionsServiceProvider::class,
    ....
 ],

运行 publish 命令

php vdes vendor:publish

然后运行迁移

php vdes migrate

输入包含关键词 Vdes\PermisionRoles ...dst 的数字,然后编辑 User 模型如下

<?php

namespace App\Models;

// tambah kode
use Vdes\PermisionRoles\Permissions\HasPermissionsTrait;
// end kode

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class User extends Authenticatable
{
    ....
    // tambah ini HasPermissionsTrait pada use
    use HasFactory, Notifiable, HasPermissionsTrait ;
    ....
}

然后在位于 > app > Http 文件夹中的 Kernel.php 文件中添加中间件

    protected $routeMiddleware = [
        ....
        'permission' => \Vdes\PermisionRoles\Middleware\PermissionMiddleware::class,
    ];

使用方法

有两种使用方式,即在文件 Controller 和 Blade 中。

在文件 controller 中的使用方法

将其插入每个方法中。例如,如果您使用默认的 vdes index、create、store、edit、update 和 destroy 方法

...

class NamaController extends Controller
{

    public function __construct()
    {
        $this->middleware('permission:namamodul-list',['only' => ['index']]);
        $this->middleware('permission:namamodultasks',['only' => ['store', 'create']]);
        $this->middleware('permission:namamodul-edit',['only' => ['edit','update']]);
        $this->middleware('permission:namamodul-delete',['only' => ['destroy']]);
    }

    ....
    
}

在文件 blade 中的使用方法

例如,如果我们想检查用户是否具有查看某个模块列表的访问权限

@role('namamodul-list')

@endrole