2015-04-23 26 views
0

我是ZendFramework2中的新成员,需要立即检查用户身份。现在,我在每一个控制器行动正在检查(示例代码在行动检查身份)zf2 - 我想在控制器中同时检查用户的hasIdentity()而不是在每个控制器动作

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

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

感谢

+1

这里是你在做什么寻找:http://stackoverflow.com/a/14138160/1386551 – blackbishop

回答

0

一种选择是创建一个方法,“对派遣”到控制器火灾:

class YourController extends AbstractActionController { 

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

}