Yii2 RBAC не присваивается роль пользователю, что делать?

Сделал всё следую данному туториалу: https://www.fabioferreira.pt/rbac-with-yii2-user-quick-tutorial/. Только в конфиге main.php в компоненте authManager сменил пут '@console/data/***.php' на '@console/rbac/items.php' и создал соответствующую папку. В RbacController.php сделал свои пермишшены и роли. Выглядит это так: admin наследует права superuser, который наследует права user + имеет свои права.

        $auth = Yii::$app->authManager;
        var_dump($auth->getRoles());

выдаёт все роли корректно, вот так:

array(3) {
  ["user"]=>
  object(yii\rbac\Role)#130 (7) {
    ["type"]=>
    int(1)
    ["name"]=>
    string(4) "user"
    ["description"]=>
    NULL
    ["ruleName"]=>
    string(8) "UserRole"
    ["data"]=>
    NULL
    ["createdAt"]=>
    int(1616510421)
    ["updatedAt"]=>
    int(1616510421)
  }
  ["superuser"]=>
  object(yii\rbac\Role)#131 (7) {
    ["type"]=>
    int(1)
    ["name"]=>
    string(9) "superuser"
    ["description"]=>
    NULL
    ["ruleName"]=>
    string(8) "UserRole"
    ["data"]=>
    NULL
    ["createdAt"]=>
    int(1616510421)
    ["updatedAt"]=>
    int(1616510421)
  }
  ["admin"]=>
  object(yii\rbac\Role)#132 (7) {
    ["type"]=>
    int(1)
    ["name"]=>
    string(5) "admin"
    ["description"]=>
    NULL
    ["ruleName"]=>
    string(8) "UserRole"
    ["data"]=>
    NULL
    ["createdAt"]=>
    int(1616510421)
    ["updatedAt"]=>
    int(1616510421)
  }
}

но var_dump($auth->getRolesByUser(Yii::$app->user->id)); выдаёт такой же результат, отличается лишь порядок. В конце RbacController.php написан код $auth->assign($admin, 1); присваивающий пользователю с ID 1 роль admin. Код инициализирован. Но var_dump(Yii::$app->user->can('createPost')); выдаёт bool(false).

Где должны храниться данные о присвоенных пользователям ролях? И как мне быть в данной ситуации? Кто нибудь сталкивался с подобной проблемой?


Ответы (0 шт):