0

我已经对 Laravel 项目从 v5.7(带有 Spatie Permissions 2.21)到带有 Spatie 5.5.0 的 v9 执行了早该更新。我没有收到任何错误,但hasRole()对于肯定拥有该角色的用户,该函数不再返回 true。为Auth::user()->getRoleNames()用户回显只返回一个空数组。任何指导将不胜感激。

查看我的旧提交,似乎除了composer.json添加和数据库迁移之外,我需要做的只是用户模型编辑:

...
use Spatie\Permission\Traits\HasRoles;

class User extends Authenticatable
{
    use HasRoles;
...

而这个配置(评论被剥离):

<?php
return [
    'models' => [
        'permission' => Spatie\Permission\Models\Permission::class,
        'role' => Spatie\Permission\Models\Role::class,
    ],
    'table_names' => [
        'roles' => 'roles',
        'permissions' => 'permissions',
        'model_has_permissions' => 'model_has_permissions',
        'model_has_roles' => 'model_has_roles',
        'role_has_permissions' => 'role_has_permissions',
    ],

    'column_names' => [
        'model_morph_key' => 'model_id',
    ],
    'cache_expiration_time' => 60 * 24,
    'display_permission_in_exception' => false,
];
4

0 回答 0