Ошибка в Gii после настройки авторизации с PhpAuthManager
Ошибка в Gii после настройки авторизации с PhpAuthManager
Здравствуйте!
У меня такая проблема. Я настроил авторизацию с использованием ролей так, как написано в этой статье: http://yiiframework.ru/doc/cookbook/ru/access.rbac.file
После этого в Gii при выборе "Model Generator" возникает ошибка: Property "CWebUser.role" is not defined. Причем, только при выборе этого пункта.
Может быть, нужно как-то настроить Gii? Или как можно исправить такую ситуацию?
У меня такая проблема. Я настроил авторизацию с использованием ролей так, как написано в этой статье: http://yiiframework.ru/doc/cookbook/ru/access.rbac.file
После этого в Gii при выборе "Model Generator" возникает ошибка: Property "CWebUser.role" is not defined. Причем, только при выборе этого пункта.
Может быть, нужно как-то настроить Gii? Или как можно исправить такую ситуацию?
Re: Ошибка в Gii после настройки авторизации с PhpAuthManage
вы в указали в конфиге
Код: Выделить всё
'user'=>array(
'class' => 'WebUser',
// …
),
Re: Ошибка в Gii после настройки авторизации с PhpAuthManage
Да, указал, и в других местах авторизация работает правильно.
Re: Ошибка в Gii после настройки авторизации с PhpAuthManage
а Yii::app()->user->getRole(); что выдаёт?
Re: Ошибка в Gii после настройки авторизации с PhpAuthManage
Ни метод getRole(), ни свойство role у Yii::app()->user не определены. Но если вывести var_dump(Yii::app()->user), получится вот что:
При этом запрашивается ресурс http://127.0.0.1/moon/backoffice/index.php?r=gii/model
Код: Выделить всё
object(CWebUser)#12 (14) {
["allowAutoLogin"]=>
bool(false)
["guestName"]=>
string(5) "Guest"
["loginUrl"]=>
string(46) "/moon/backoffice/index.php?r=gii/default/login"
["identityCookie"]=>
NULL
["authTimeout"]=>
NULL
["autoRenewCookie"]=>
bool(false)
["autoUpdateFlash"]=>
bool(true)
["loginRequiredAjaxResponse"]=>
NULL
["_keyPrefix":"CWebUser":private]=>
string(3) "gii"
["_access":"CWebUser":private]=>
array(0) {
}
["behaviors"]=>
array(0) {
}
["_initialized":"CApplicationComponent":private]=>
bool(true)
["_e":"CComponent":private]=>
NULL
["_m":"CComponent":private]=>
NULL
}
Re: Ошибка в Gii после настройки авторизации с PhpAuthManage
У вас не подключается ваш класс WebUser. Я бы искал проблему в первую очередь в кониге
Re: Ошибка в Gii после настройки авторизации с PhpAuthManage
Столкнулся с такой же проблемой, хотя конфиг чистенький ...
Re: Ошибка в Gii после настройки авторизации с PhpAuthManage
В конфиге компоненты настроены следующим образом:
Мог ли я тут что-то упустить?
Код: Выделить всё
// application components
'components' => array(
'user' => array(
'class' => 'WebUser',
// enable cookie-based authentication
'allowAutoLogin' => TRUE,
),
// uncomment the following to enable URLs in path-format
/*
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),
*/
/*'db'=>array(
'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
),*/
// uncomment the following to use a MySQL database
'db' => array(
'connectionString' => 'mysql:host=localhost;dbname=moon',
'emulatePrepare' => TRUE,
'username' => 'root',
'password' => 'password',
'charset' => 'utf8',
),
'authManager' => array(
'class' => 'PhpAuthManager',
'defaultRoles' => array('guest'),
),
'errorHandler' => array(
// use 'site/error' action to display errors
'errorAction' => 'site/error',
),
'log' => array(
'class' => 'CLogRouter',
'routes' => array(
array(
'class' => 'CFileLogRoute',
'levels' => 'error, warning',
),
// uncomment the following to show log messages on web pages
/*
array(
'class'=>'CWebLogRoute',
),
*/
),
),
),
Re: Ошибка в Gii после настройки авторизации с PhpAuthManage
Эта тема все еще актуальна. Никто не может хотя бы предположить, в чем проблема?
В этом месте вызывается новый класс PhpAuthManager, но Yii::app()->user в нем ссылается на стандартный CWebUser, а не на новый WebUser.
В этом месте вызывается новый класс PhpAuthManager, но Yii::app()->user в нем ссылается на стандартный CWebUser, а не на новый WebUser.
Re: Ошибка в Gii после настройки авторизации с PhpAuthManage
А WebUser.php точно в паке protected/components ?
Re: Ошибка в Gii после настройки авторизации с PhpAuthManage
Не совсем. Там определен алиас:
И конфигурация такая:
Код: Выделить всё
Yii::setPathOfAlias('root', realpath('../'));
Код: Выделить всё
'user' => array(
'class' => 'root.common.components.WebUser',
// enable cookie-based authentication
'allowAutoLogin' => TRUE,
),
Re: Ошибка в Gii после настройки авторизации с PhpAuthManage
Ели проблему еще не решили, посмотрите эту тему: viewtopic.php?f=3&t=801
- chungachguk
- Сообщения: 435
- Зарегистрирован: 2012.07.17, 11:52
Re: Ошибка в Gii после настройки авторизации с PhpAuthManage
не понял, чем этот топик помогает.kedaria писал(а):Ели проблему еще не решили, посмотрите эту тему: viewtopic.php?f=3&t=801
Помогло обновление до "Version 1.1.12 August 19, 2012"