安装
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 版权协议,转载请附上原文出处链接及本声明。