[Laravel 扩展包]DirectoryTree Authorization:Laravel 的原生角色和权限管理包
Steve Bauman 的 DirectoryTree Authorization 包是 Laravel 的一个简单的原生角色和权限管理系统。
它使用 Laravel 的 Gate 和开箱即用的授权方法,并提供以下轻量级 API 来管理角色和权限:
use DirectoryTree\Authorization\Permission;
use DirectoryTree\Authorization\Role;
$createUsers = Permission::create([
'name' => 'users.create',
'label' => 'Create Users',
]);
$admin = Role::create([
'name' => 'administrator',
'label' => 'Admin',
]);
// Grant the permission to a role
$admin->permissions()->save($createUsers);
// Assign the role to a user
$user->roles()->save($admin);
// `can()` method usage in PHP:
Auth::user()->can('users.create');
// Using Laravel's `Gate`:
Gate::allows('users.create');
// Using Laravel's `@can()` directive:
@can('users.create')
<!-- This user can create other users. -->
@endcan
- 上面的代码片段并没有包含所有可用的方法——有关使用此包管理角色和权限的用法详细信息,请参阅自述文件,其中包括以下主要功能:
管理用户角色和权限 - 创建用户特定权限
- 检查权限和角色
- 默认情况下缓存权限
- 与 Laravel 的原生 Gate 和授权方法一起使用。
- 默认情况下,权限在 Laravel 的 Gate 中注册
- 引入有用的权限和角色中间件
要开始使用此软件包,请在 GitHub 的 directorytree/authorization 中查看软件包。