Всем привет!)
Пару дней назад свалил с 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', ),
Посмотрел код фреймворка в местах вызова функций, где возникает ошибка…
Ну зачем ему писать эти данные в бд?При каждом выполнении писать будем?
Очень интересно…
Помогите найти решение…если реально хранить все роли и права в БД…то это только лучше…я на зенде их так и хранил…
Заранее спасибо.