【发布时间】:2019-04-30 11:43:08
【问题描述】:
我正在使用 Laravel 5.7 设置一个 REST API。为了验证身份验证我使用JWT-auth,对于权限和角色我使用Spatie。
我的问题:尝试将角色链接到用户时出现以下错误
Spatie \ Permission \ Exceptions \ RoleDoesNotExist
There is no role named admin.
这就是我尝试为用户分配角色的方式:
$user = User::findOrFail(1);
$user->assignRole('admin');
由于我是 Laravel 新手,我不确定它是否相关,但设置 JWT 我必须将 config/auth.php 中的警卫驱动程序更改为 jwt
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'jwt',
'provider' => 'users',
],
],
我看不出我做错了什么。我添加了角色,然后尝试将角色添加到用户。
【问题讨论】:
-
你安装了所有的包吗?
-
@AkhtarMunir 是的,所有包,所有步骤
-
Spatie 是开发者顺便说一句。包是
laravel-permissions -
我之所以提出这个只是因为 Spatie 是一家相当受欢迎的公司,从事开源开发,尤其是各种 laravel 包
-
您是否手动将这些角色添加到数据库中?
标签: php laravel jwt laravel-permission