Ошибка проверки роли через can()

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Закрыто
Аватара пользователя
porcelanosa
Сообщения: 570
Зарегистрирован: 2010.03.16, 04:31
Откуда: Москва

Ошибка проверки роли через can()

Сообщение porcelanosa »

вот такой код при авторизации вызывает ошибку

Код: Выделить всё

Yii::$app->getUser()->can(User::ROLE_SUPERUSER)

Код: Выделить всё

yii\base\ErrorException: Illegal offset type in isset or empty in F:\domains\esia.local\vendor\yiisoft\yii2\di\Container.php:167
Stack trace:
#0 F:\domains\esia.local\vendor\yiisoft\yii2\di\Container.php(167): yii\base\ErrorHandler->handleError(2, 'Illegal offset ...', 'F:\\domains\\esia...', 167, Array)
#1 F:\domains\esia.local\vendor\yiisoft\yii2\BaseYii.php(365): yii\di\Container->get(Array, Array, Array)
#2 F:\domains\esia.local\vendor\yiisoft\yii2\di\ServiceLocator.php(137): yii\BaseYii::createObject(Array)
#3 F:\domains\esia.local\vendor\yiisoft\yii2\base\Module.php(748): yii\di\ServiceLocator->get('authManager', false)
#4 F:\domains\esia.local\vendor\yiisoft\yii2\base\Application.php(605): yii\base\Module->get('authManager', false)
#5 F:\domains\esia.local\vendor\yiisoft\yii2\web\User.php(801): yii\base\Application->getAuthManager()
#6 F:\domains\esia.local\vendor\yiisoft\yii2\web\User.php(811): yii\web\User->getAuthManager()
#7 F:\domains\esia.local\vendor\yiisoft\yii2\web\User.php(755): yii\web\User->getAccessChecker()
#8 F:\domains\esia.local\controllers\SiteController.php(111): yii\web\User->can('superuser')
#9 [internal function]: app\controllers\SiteController->actionIndex()
#10 F:\domains\esia.local\vendor\yiisoft\yii2\base\InlineAction.php(57): call_user_func_array(Array, Array)
#11 F:\domains\esia.local\vendor\yiisoft\yii2\base\Controller.php(181): yii\base\InlineAction->runWithParams(Array)
#12 F:\domains\esia.local\vendor\yiisoft\yii2\base\Module.php(534): yii\base\Controller->runAction('', Array)
#13 F:\domains\esia.local\vendor\yiisoft\yii2\web\Application.php(104): yii\base\Module->runAction('', Array)
#14 F:\domains\esia.local\vendor\yiisoft\yii2\base\Application.php(392): yii\web\Application->handleRequest(Object(yii\web\Request))
#15 F:\domains\esia.local\web\index.php(12): yii\base\Application->run()
#16 {main}
Т.е. моего кода тут минимум. Только стандартные функции Yii

UPD: При этом код рабочий - мне его передали с сервера. Там он работает - на локале развернуть не получается.
UPD 2: Версии PHP на сервере и на локале 7.3
UPD 3: Почему то в логах пишет , что используется класс

Код: Выделить всё

vendor\yiisoft\yii2\web\User.php
Хотя в конфиге

Код: Выделить всё

        'user' => [
            'identityClass' => 'app\models\User',
            'enableAutoLogin' => true,
        ],
mcintosh-club.ru - первый мой сайт с использование Yii //
Акустика Sonus Faber Hi-End класса//
Необрезная доска и другие пиломатериалы
Аватара пользователя
porcelanosa
Сообщения: 570
Зарегистрирован: 2010.03.16, 04:31
Откуда: Москва

Re: Ошибка проверки роли через can()

Сообщение porcelanosa »

Закрываем. проблема была в том, что для шаблона basic нужно прописывать

Код: Выделить всё

        'authManager' => [
            'class' => 'yii\rbac\DbManager',
        ],
и в config/console.php
mcintosh-club.ru - первый мой сайт с использование Yii //
Акустика Sonus Faber Hi-End класса//
Необрезная доска и другие пиломатериалы
Закрыто