编程

[Laravel 扩展包]DirectoryTree Authorization:Laravel 的原生角色和权限管理包

476 2024-05-17 02:22:00

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 中查看软件包。