Код: Выделить всё
'bizRule'=> Yii::app()->user->id==$params["post"]->author_id,
Код: Выделить всё
'bizRule'=> Yii::app()->user->id==$params["post"]->author_id,
Код: Выделить всё
'administrator' => array(
'type' => CAuthItem::TYPE_ROLE,
'description' => 'Administrator',
'children' => array(
'moderator', // позволим админу всё, что позволено модератору
'deleteComments',
),
Код: Выделить всё
'deleteComments'=>array(
'type'=>CAuthItem::TYPE_ROLE,
'description'=>'Del comments',
),
'bizRule'=> Yii::app()->user->id==$params["post"]->author_id,
Код: Выделить всё
$listData = CHtml::listData(Yii::app()->authManager->AuthItems,'name','description');
CHtml::dropDownList($model,'role',$listData);
ikarushka писал(а):Сразу извиняюсь за глупые вопросы, только начал разбираться с Yii.
1) Для того чтобы роль из БД была доступна в Yii::app()->user->role. Не стал расширять CWebUser как описано в рецепте. А в UserIdentity.php сделал так:Все работает, но правильно ли так делать?Код: Выделить всё
$this->setState('role', $user->role);
В таком случае role попадет в куку, которая может быть модицирована на стороне клиента. Выходит можно будет залогиниться с другой ролью и соотв. с другими правами.Sam Dark писал(а):1) Нормально, но роль не будет меняться пока юзер не перелогинится.
Код: Выделить всё
'manager' => array(
'type' => CAuthItem::TYPE_ROLE,
'description' => 'Manager',
'children' => array(
'user', // позволим модератору всё, что позволено пользователю
),
'bizRule' => null,
'data' => null
),
'admin' => array(
'type' => CAuthItem::TYPE_ROLE,
'description' => 'Administrator',
'children' => array(
'manager', // позволим админу всё, что позволено модератору
),
'bizRule' => null,
'data' => null
),
Код: Выделить всё
if(Yii::app()->user->checkAccess('manager')){
echo 'Wow i'm manager';
}