刀片指令不适用于Spatie Addon,在这里拉我的头发

时间:2018-12-21 19:51:23

标签: backpack-for-laravel

我逐点遵循了自述文件。

  • 我可以创建用户/角色/权限并进行分配。
  • 它们也可以在数据库中正确创建。

但是,当我尝试使用echo $args['song_name']; @role刀片指令时, 它不起作用,似乎总是@can

我试图自己解决这个问题,但我的想法已荡然无存。我以为这可能是个警卫问题,但是我正在使用以下

false

我不使用两种身份验证方法,仅使用背包一种。我过去确实运行过 'middleware_class' => [ App\Http\Middleware\CheckIfAdmin::class, \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, Backpack\Base\app\Http\Middleware\UseBackpackAuthGuardInsteadOfDefaultAuthGuard::class, ], 命令,但此后我删除了它创建的所有文件。

以下命令make:auth返回dd(backpack_user()->hasRole('test')),这确实使我认为这是一个保护问题。

model_has_roles 如下所示(id 2是我的用户) db screenshot

欢迎任何帮助

谢谢

2 个答案:

答案 0 :(得分:0)

这就是我解决的方法  1.在base.middleware_class数组中使用Backpack \ Base \ app \ Http \ Middleware \ UseBackpackAuthGuardInsteadOfDefaultAuthGuard :: class。根据文档https://github.com/Laravel-Backpack/PermissionManager  2.在刀片中使用指令@role('***')。 @can无法正常工作。

在较早版本的Demo中不需要此功能。似乎最新的配置权限。php具有不同的默认值。

答案 1 :(得分:0)

就我而言,清除缓存可解决此问题:

php artisan view:clear