J'ai des contrôleurs avec la prochaine accessRules:Yii :: get actions de contrôleur spécifiées par des actions()
public function accessRules()
{
return array(
array('allow',
'actions'=>array('login','logout'),
'users'=>array('*'),
),
array('allow',
'actions'=>array('index'),
'users'=>array('@'),
),
array('allow',
'actions'=>array('users'),
'expression'=>'$user->getState(\'role\')==0',
),
array('deny',
'users'=>array('*'),
),
);
}
Toutes les actions (dans tous les contrôleurs) spécifiés par actions() Méthode:
public function actions()
{
return array(
'index'=>$this->module->getName().'.controllers.main.IndexAction',
'login'=>$this->module->getName().'.controllers.main.LoginAction',
'logout'=>$this->module->getName().'.controllers.main.LogoutAction',
);
}
Est Y at-il une chance d'obtenir des contrôleurs/actions liste dépend des autorisations de l'utilisateur actuel? Je veux construire un menu de navigation avec la liste de tous les contrôleurs et leurs actions, quelque chose comme ceci:
- Controler1
(show only if current user have permissions to access it)
- Controler1/action1
(show only if current user have permissions to access it)
- Controler1/action2
(show only if current user have permissions to access it)
- Controler1/action1
- Controller2
(show only if current user have permissions to access it)
- Controler2/action1
(show only if current user have permissions to access it)
- Controler2/action2
(show only if current user have permissions to access it)
- Controler2/action1