zf2 -I想在控制器中一次检查用户的hasIdentity()而不是每个控制器操作

时间:2015-04-23 13:34:05

标签: zend-framework2

我是ZendFramework2的新手,需要立即检查用户的身份。现在我正在检查每个控制器动作(用于检查身份的示例代码)

if (! $this->getServiceLocator()
                 ->get('AuthService')->hasIdentity()){
            return $this->redirect()->toRoute('login');
}

这不是好习惯,所以请帮我减少为所有action()方法调用一次。未经授权的用户将重定向到登录表单

谢谢

1 个答案:

答案 0 :(得分:0)

一种选择是创建一个方法,在发送"给你的控制器:

class YourController extends AbstractActionController {

public function onDispatch($event){
    $this->yourIdentityCheckFunction();
    return parent::onDispatch($event);
}
//your other actions/identityCheck methods etc...

}