当我尝试在登录后检查事件中的权限并向用户添加一些权限(如果他没有分配)时,发生以下错误:
Spatie \权限\异常\权限不存在防护web
不存在名为ABR
的权限。
更有趣的是,我已经试过关注这篇文章了:
spatie/laravel-permission对于guard API,没有名为edit_project的权限
但是直接为Spatie该高速缓存:php artisan cache:forget spatie.permission.cache
,然后针对整个应用程序:php artisan cache:clear
没有帮助。
我想做的是处理用户登录后的事件,这将权限分配给他的模型.简短的演示:
/**
* Handle the event.
*
* @param \Illuminate\Auth\Events\Login $event
* @return void
*/
public function handle(Login $event)
{
$event->user->givePermissionTo('ABR');
}
我的权限通过*.txt
文件加载,然后添加到Permission::create(['name'=>'ABR']);
等数据库中。
知道如何解决这个问题吗?guard_name
会自动分配给web
。
1条答案
按热度按时间s4n0splo1#
如果您想使用
api
保护,那么就像这样简单: