我知道如何创建标准表单,就像您创建联系表单或任何其他用户输入表单一样。但是,我希望创建一个允许用户在我们的网站上创建“产品”的表单。问题是,此表单只能由管理员访问。我该如何限制这个?
问问题
195 次
2 回答
2
class SomeController extends Controller {
public function filters()
{
return array(
'accessControl',
);
}
public function accessRules()
{
return array(
array('allow',
'actions' => array('actions_with_public_access'),
'users' => array('*'),
),
array('allow',
'actions' => array('action_with_form'),
'roles' => array('admin')
),
array('deny',
'users' => array('*'),
),
);
}
}
于 2012-11-14T09:22:37.623 回答
1
为什么不检查其主控制器中的 rbac 呢?像这样的东西:
public function YourAdminOnlyController(){
public function init(){
if(Yii::app()->user->checkAccess('your_role_admin')){
}else
$this->redirect(array('/site/message','txt'=>'access denied. only admins.'));
}
}
这是一种简单的方法,可能不使用 init(),但我的目的是传达主要思想。 您也可以简单地使用 accessControl 规则来做到这一点。
于 2012-11-14T15:01:43.603 回答