Laravel使用laravel-permission进行权限管理

安装

composer require spatie/laravel-permission

发布迁移文件:

php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"

在config/app.php 中,Providers 数组里添加:

'providers' => [
    // ...
    Spatie\Permission\PermissionServiceProvider::class,
];

发布配置文件:

php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="config"

迁移数据库

php artisan migrate

在User Model 引用 HasRoles trait:

use Spatie\Permission\Models\Role;

class User extends Authenticatable
{
    use HasApiTokens, HasFactory, Notifiable, HasRoles;
}

用法:

创建角色:$role=Role::create(['name'=>'超级管理员']);

创建权限:$permission=Permission::create(['name'=>'*']);

给角色赋予权限:$role->givePermissionTo($permission);

给用户一个角色:$user->assignRole('超级管理员');

在blade页面获取用户的第一个角色:{{ Auth()->user()->getRoleNames()->first() }}

本文为“技术点滴”的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注