После вызова $component=Yii::createComponent($config);
В частности он вызывается в SRBAC при построении списка контролеров, в Yii::app()->user пропадают данные о пользователи, он становится guest.
То есть печатаю данные о пользователе до вызова этого метода все хорошо имя пользователя id и т.п. есть сразу после вывода ничего нет. Соответственно после вызова getModlule() тоже ничего нет и т.д.
Как с этим быть, yii-1.1.14, до этого был 1.1.13 но разницы ни какой.
Как с этим быть?
Yii::app()->user->name и Yii::createComponent()
Re: Yii::app()->user->name и Yii::createComponent()
Углубился в изучение этой проблемы оказалось дело в данном случае было в строке
$object=new $type($args[1],$args[2],$args[3]);
метода createComponent($config) в YiiBase.php
В случае SRBAC в качестве $type поступало GiiModule и данные о пользователе пропадали, другие типы проходили хорошо, закомментировал подключение gii в настройках и проблема пропала.
Но как SRBAC использовал gii и почему его отключение ни как не повлияло на работу, пока не ясно.
Все оказалось просто. SRBAC для получения информации о контролерах, читает секцию modules из конфиг файла а там как раз gii и был
В ходе работы SRBAC создает объект GiiModule который при инициализации заново инициализирует под себя Yii::app()->user в частности.
$object=new $type($args[1],$args[2],$args[3]);
метода createComponent($config) в YiiBase.php
В случае SRBAC в качестве $type поступало GiiModule и данные о пользователе пропадали, другие типы проходили хорошо, закомментировал подключение gii в настройках и проблема пропала.
Но как SRBAC использовал gii и почему его отключение ни как не повлияло на работу, пока не ясно.
Все оказалось просто. SRBAC для получения информации о контролерах, читает секцию modules из конфиг файла а там как раз gii и был
В ходе работы SRBAC создает объект GiiModule который при инициализации заново инициализирует под себя Yii::app()->user в частности.