Друзья!
Пытаюсь разобраться с разделением прав и один момент никак не идёт.
Использую CDbAuthManager.
Добавил для пользователя следующие права
$auth = Yii::app()->authManager; $role = $auth->createRole('manager'); $auth->createOperation('createPost', 'create a post'); $role->addChild('createPost'); $auth->assign('manager', '2'); $auth->createOperation('updatePost','редактирование записи'); $bizRule = 'return Yii::app()->user->id==$params["post"]->authID;'; $task = $auth->createTask('updateOwnPost','редактирование своей записи',$bizRule); $task->addChild('updatePost'); $role->addChild('updatePost');
сдесь кажется всё понятно, кроме пары моментов
... $params["post"]->authID; ...
сдесь в качестве authID должно быть название поля в таблице где хранится id автора ?
и второе это
$task->addChild('updatePost');
зачем ?
и теперь самое главное и непонятное, а именно:
поидее вышеприведённым кодом, я указал что пользователю группы "manager" делать (я рассчитываю что это редактирование своих постов)) )
и что мне надо указать в функции accessRules контроллера PostController ?!
пробовал вот такой момент
array('allow', 'actions' => array('updateOwnPost'), 'roles' => array('manager'), ),
но не работает, и что-то мне кажется что здесь получается некой дублирование.
Может быть здесь указывать что массив с правами из базы брать ?
мне кажется это логичным но я не нашёл как ?
вот последняя надежда на вас! спасайте!