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