2

我正在使用 Laravel-Permissions 并在 rotes\web.php 中写道:

Route::group(['middleware' => ['role:admin']], function () {
    Route::get('/admin', function () {
        return "Test";
    });
});

我在 app\Http\Kernel.php 中添加了:

protected $routeMiddleware = [
    // ...
    'role' => \Spatie\Permission\Middlewares\RoleMiddleware::class,
    'permission' => \Spatie\Permission\Middlewares\PermissionMiddleware::class,
    'role_or_permission' => \Spatie\Permission\Middlewares\RoleOrPermissionMiddleware::class,
];

错误:

在此处输入图像描述

4

2 回答 2

2

您忘记包含角色特征

use Illuminate\Foundation\Auth\User as Authenticatable;
use Spatie\Permission\Traits\HasRoles;

class User extends Authenticatable
{
    use HasRoles; //this line

    // ...
}
于 2021-03-27T15:33:25.890 回答
0

确保您的User模型使用该Spatie\Permission\Traits\HasRoles特征。

<?php

use Spatie\Permission\Traits\HasRoles;

class User
{
    use HasRoles;
}
于 2021-03-27T15:33:13.873 回答