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