在controller的init方法里无法获得当前action,请问应该怎样解决?
在controller的init方法里无法获得当前action,请问应该怎样解决?
因为无法获取action的ID,只好重写beforeAction,变通的解决一下
protected function beforeAction($action){
//检测当前的action是否需要验证
$exists=in_array($action->id,$this->allowAction());
//如果不存在
if (!$exists) {
//检测用户是否登录
if (Yii::app()->user->getIsGuest()) {
//Ajax请求
if (Yii::app()->request->isAjaxRequest) {
Message::ajaxInfo("请先登录",0);
//其他请求
}else{
$this->redirect($this->createUrl("login/login"));
exit();
}
}
}
//return parent::beforeAction($action);
}