@Leopandro
Разработчик CRM/ERP систем

Почему yii2 цепляет модель User?

Вот по такому адресу(снизу вверх он вызывается)
<item>
#0 C:\OpenServer\domains\aparts\vendor\yiisoft\yii2\base\Object.php(107): yii\web\User->init()
</item>
<item>
#1 [internal function]: yii\base\Object->__construct(Array)
</item>
<item>
#2 C:\OpenServer\domains\aparts\vendor\yiisoft\yii2\di\Container.php(368): ReflectionClass->newInstanceArgs(Array)
</item>
<item>
#3 C:\OpenServer\domains\aparts\vendor\yiisoft\yii2\di\Container.php(153): yii\di\Container->build('yii\\web\\User', Array, Array)
</item>
<item>
#4 C:\OpenServer\domains\aparts\vendor\yiisoft\yii2\BaseYii.php(344): yii\di\Container->get('yii\\web\\User', Array, Array)
</item>
<item>
#5 C:\OpenServer\domains\aparts\vendor\yiisoft\yii2\di\ServiceLocator.php(133): yii\BaseYii::createObject(Array)
</item>
<item>
#6 C:\OpenServer\domains\aparts\vendor\yiisoft\yii2\web\Application.php(168): yii\di\ServiceLocator->get('user')
</item>
<item>
#7 C:\OpenServer\domains\aparts\vendor\yiisoft\yii2\filters\RateLimiter.php(70): yii\web\Application->getUser()
</item>
<item>
#8 C:\OpenServer\domains\aparts\vendor\yiisoft\yii2\base\ActionFilter.php(73): yii\filters\RateLimiter->beforeAction(Object(yii\rest\IndexAction))
</item>
<item>
#9 [internal function]: yii\base\ActionFilter->beforeFilter(Object(yii\base\ActionEvent))
</item>
<item>
#10 C:\OpenServer\domains\aparts\vendor\yiisoft\yii2\base\Component.php(541): call_user_func(Array, Object(yii\base\ActionEvent))
</item>
<item>
#11 C:\OpenServer\domains\aparts\vendor\yiisoft\yii2\base\Controller.php(269): yii\base\Component->trigger('beforeAction', Object(yii\base\ActionEvent))
</item>
<item>
#12 C:\OpenServer\domains\aparts\vendor\yiisoft\yii2\web\Controller.php(108): yii\base\Controller->beforeAction(Object(yii\rest\IndexAction))
</item>
<item>
#13 C:\OpenServer\domains\aparts\vendor\yiisoft\yii2\base\Controller.php(152): yii\web\Controller->beforeAction(Object(yii\rest\IndexAction))
</item>
<item>
#14 C:\OpenServer\domains\aparts\vendor\yiisoft\yii2\base\Module.php(454): yii\base\Controller->runAction('', Array)
</item>
<item>
#15 C:\OpenServer\domains\aparts\vendor\yiisoft\yii2\web\Application.php(84): yii\base\Module->runAction('apartments/test', Array)
</item>
<item>
#16 C:\OpenServer\domains\aparts\vendor\yiisoft\yii2\base\Application.php(375): yii\web\Application->handleRequest(Object(yii\web\Request))
</item>
<item>
#17 C:\OpenServer\domains\aparts\aparts\index.php(8): yii\base\Application->run()
</item>

Хотя в настройках у меня не прописаны никакие подключения юзеров. Это мое первое использование ActiveController-a кстати и я не знаю что с этим делать.
  • Вопрос задан
  • 464 просмотра
Решения вопроса 1
@Leopandro Автор вопроса
Разработчик CRM/ERP систем
ответ нашел: ActiveController перед тем как ответить на тот или иной запрос проверяет, есть ли у этого пользователя права на этот экшен. А права пользователей у меня были неопределены, ровно как и класс юзера. Эту проблему я решил просто перегрузкой функции beforeAction(), которая проверяет это дело.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Там по умолчанию есть миграция, разверните её. Из коробки идет же модель юзеров.
Ответ написан
Комментировать
Craba
@Craba
Веб программист с 10-летним стажем
#9 [internal function]: yii\base\ActionFilter->beforeFilter(Object(yii\base\ActionEvent))

Нужно смотреть что в родительском контроллере.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы