bedoke/laravel-role-perms

为 Laravel 提供基于角色的权限管理

dev-master 2019-07-29 08:34 UTC

This package is not auto-updated.

Last update: 2024-10-02 08:48:11 UTC


README

获取此包

composer require bedoke/laravel-role-perms

扩展用户类

在 User.php 文件中导入 Roles 特性

use bedoke\LaravelRolePerms\Traits\Roles;

在用户类内部使用特性

use Roles;

迁移

php artisan migrate

种子

php artisan db:seed --class=bedoke\LaravelRolePerms\Database\Seeds

默认情况下,以下种子创建管理员角色和一些权限。如果存在名为 admin 的用户,则默认赋予管理员角色。

使用方法

函数

用户模型

要检查用户模型是否有权限或角色,可以使用以下方法

$user->hasPermission('permissionName', [Object $entity]); // true || false
$user->hasRole('roleName', [Object $entity]); // true || false

用户函数的结果将被缓存!如有需要,请使用 RolePerms::clearPermissionCache([User $user]);RolePerms::clearRoleCache([User $user]); 来清理。

外观

包含外观以使用以下函数。

use bedoke\LaravelRolePerms\Facades\RolePerms;

现在您可以使用以下函数

RolePerms::userHasRole(User  $user, String  $roleName, [Object $entity]); // true || false

RolePerms::userHasPermission(User  $user, String  $permissionName, [Object $entity]); // true || false

RolePerms::roleHasPermission(String  $roleName, String  $permissionName); // true || false

RolePerms::grantRole(User  $user, String  $roleName, [Object $entity]); // true || false

RolePerms::grantPermission(String  $roleName, String  $permissionName); // true || false

RolePerms::revokeRole(User  $user, String  $roleName, [Object $entity]); // true || false

RolePerms::revokePermission(String  $roleName, String  $permissionName); // true || false

RolePerms::clearRoleCache([User $user]); // true || false

RolePerms::clearPermissionCache([User $user]); // true || false

RolePerms::createRole(String  $roleName); // Role || false

RolePerms::createPermission(String  $permissionName); // Permission || false

RolePerms::deleteRole(String  $roleName); // true || false

RolePerms::deletePermission(String  $permissionName); // true || false