首先在controller中必须定义两个方法
第一:filters方法
public function filters(){
return array(''accessControl'');//使用Yii自带的accessControl 过滤器
}
第二:accessRules方法
public function accessRules(){
return array(
array('allow',
'actions'=>array('login','loginout','captcha','error'),
'users'=>array('*')
),
array('allow',
'actions'=>array('addNews','listNews','deleteNews' //允许所有登陆用户访问controller内部的action
),
'users'=>array('@')
),
array('allow',
'users'=>array('admin')//如果用户是admin,则访问所有的controller的action
),
array('deny',
'users'=>array('*') //其他的就禁止访问
)
);
}
总结:过滤器可以建立一个父类controller,其他的controller继承这个父类controller,在父类中定义用户访问权限,那样控制用户的访问权限了