Всем привет!)
Пару дней назад свалил с ZendFramework на Yii, ожидая прирост производительности.
То, что хотел я получил…но как и всегда…возникает много вопросов.
С английским у меня не очень.
Очень нужная дока про роли…ещё не до конца переведена((
http://www.yiiframew…/ru/topics.auth
При попытки расписать роли для задач и опираций возникает такая вот ошибка:
"CDbCommand failed to execute the SQL statement: SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "authitem" does not exist"
Код из доки:
$auth=Yii::app()->authManager;
$auth->createOperation('createPost','create a post');
$auth->createOperation('readPost','read a post');
$auth->createOperation('updatePost','update a post');
$auth->createOperation('deletePost','delete a post');
$bizRule='return Yii::app()->user->id==$params["post"]->authID;';
$task=$auth->createTask('updateOwnPost','update a post by author himself',$bizRule);
$task->addChild('updatePost');
$role=$auth->createRole('reader');
$role->addChild('readPost');
$role=$auth->createRole('author');
$role->addChild('reader');
$role->addChild('createPost');
$role->addChild('updateOwnPost');
$role=$auth->createRole('editor');
$role->addChild('reader');
$role->addChild('updatePost');
$role=$auth->createRole('admin');
$role->addChild('editor');
$role->addChild('author');
$role->addChild('deletePost');
$auth->assign('reader','readerA');
$auth->assign('author','authorB');
$auth->assign('editor','editorC');
$auth->assign('admin','adminD');
В конфиге стоит
'authManager' => array( 'class' => 'CDbAuthManager', 'connectionID' => 'db', ),
Посмотрел код фреймворка в местах вызова функций, где возникает ошибка…
Ну зачем ему писать эти данные в бд?При каждом выполнении писать будем?
Очень интересно…
Помогите найти решение…если реально хранить все роли и права в БД…то это только лучше…я на зенде их так и хранил…
Заранее спасибо. ![]()