oncampus/laravel-role-perms

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

dev-master 2019-08-06 10:16 UTC

This package is auto-updated.

Last update: 2024-09-06 21:47:09 UTC


README

composer require oncampus/laravel-role-perms

扩展用户类

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

use Oncampus\LaravelRolePerms\Traits\Roles;

在用户类内部使用特质

use Roles;

迁移

php artisan migrate

种子

php artisan db:seed --class="Oncampus\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 Oncampus\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