コード例 #1
0
ファイル: Acl.php プロジェクト: dafik/dfi
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     if ($this->isBypassRequest($request->getModuleName(), $request->getControllerName(), $request->getActionName())) {
         return;
     }
     if (Zend_Auth::getInstance()->hasIdentity()) {
         $acl = Zend_Registry::get('acl');
         $roleId = Zend_Auth::getInstance()->getIdentity()->getSysRole()->getId();
         $privilageName = Dfi_Auth_Acl::getModulesIdsByRequest($request);
         if ($roleId && $privilageName) {
             if ($acl->isAllowed($roleId, $privilageName)) {
                 return;
             }
         }
     }
     $request->setModuleName('default');
     $request->setControllerName('Error');
     $request->setActionName('forbidden');
 }