kilroyweb/permissions

Laravel 的基于类的授权

1.0.7 2017-01-18 18:55 UTC

This package is not auto-updated.

Last update: 2024-09-24 23:50:18 UTC


README

Laravel 的基于类的授权

安装

添加到提供者

KilroyWeb\Permissions\Providers\PermissionServiceProvider::class,

发布配置

php artisan vendor:publish --tag=config

生成权限

php artisan make:permission CLASSNAME

例如

php artisan make:permission ManageUsers

将权限添加到角色

创建一个新的迁移

Schema::create('role_permissions', function (Blueprint $table) {
    $table->increments('id');
    $table->integer('user_id');
    $table->string('permission');
    $table->timestamps();
});

和模型

php artisan make:model RolePermission

将权限添加到用户

创建一个新的迁移

Schema::create('user_permissions', function (Blueprint $table) {
    $table->increments('id');
    $table->integer('user_id');
    $table->string('permission');
    $table->timestamps();
});

和模型

php artisan make:model UserPermission

添加 HasPermissions 特性

将 HasPermissions 特性添加到您的 User/Role 模型中

use \KilroyWeb\Permissions\Traits\HasPermissions;

以及指向权限模型的指针

protected $permissionsClass = \App\UserPermission::class;

特性提供了一些有用的属性和方法

$user->permissionClassNames

使用 Laravel 的 hasmany 返回直接链接的权限类

$user->permissions

返回权限类实例的集合

添加/删除权限的方法

$user->addPermission($permissionInstance); $user->deletePermission($permissionInstance); $user->syncPermissions($permissionInstances);