Друзья!
Пытаюсь разобраться с разделением прав и один момент никак не идёт.
Использую 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'),
),
но не работает, и что-то мне кажется что здесь получается некой дублирование.
Может быть здесь указывать что массив с правами из базы брать ?
мне кажется это логичным но я не нашёл как ?
вот последняя надежда на вас! спасайте! ![]()