在Controller里面支持动态插入过滤动作,举例说明
//重写CController的filter方法,返回我们想要配置的过滤器名字
public function filters()
{
return array('LoginRequired');
}
//跟据上面配置的过滤器名字会回调这个函数,格式为filterXXXXXXXX,xxxxxxxx为刚才配置的名字
public function filterLoginRequired($filterChain)
{
$actions = $this->loginRequiredActions();
if (in_array($filterChain->action->id, $actions))
if (Yii::app()->user->isGuest)
Yii::app()->user->loginRequired();
$filterChain->run();
}
//定义需要过滤的action
public function loginRequiredActions()
{
return array('index', 'test');
}