sammaye/laravel-permission

快速Laravel权限插件

dev-master 2019-09-17 20:00 UTC

This package is auto-updated.

Last update: 2024-09-18 07:19:01 UTC


README

非常简单的Laravel权限(RBAC)插件。

用法

配置

您可以在config/sammaye.permission.php中找到配置,它可以通过config('sammaye.permission.permissions')来获取已配置的默认权限列表。

添加权限/角色

permissions键添加内容,数组将转换为角色,元素将转换为权限。

更改用户

如果您不使用默认的User模型,则更改user键。

添加User特质

sammaye\Permission\Traits\HasPermission添加到您的用户模型中。

完成

您已完成。

命令

刷新权限和角色

permission:refresh

将数据库中的权限与配置中的权限同步,因此如果您的配置中添加了新的角色和/或权限,它们将在数据库中反映出来。

permission:permission {name} {user_id?}

将创建一个权限(如果不存在),并将其分配给一个用户(如果提供)。

permission:role {name} {user_id?}

将创建一个角色(如果不存在),并将其分配给一个用户(如果提供)。

permission:role-permission {role_id} {permission_id}

将角色分配给权限,如果它们不存在则不会创建。

覆盖数据库中的内容

您可以轻松地用您自己的网关替换数据库中的规则,如下所示

Gate::define('update-post', function(User $user, Post $post){
    return $user->hasPermission('edit-post') && $user->id === $post->user_id;
});

需要改进

  • 权限缓存以停止涉及JOIN的数据库调用