/**
  * Appelé avant chaque preDispatch() du contrôleur actuel ($_actionController)
  */
 public function preDispatch()
 {
     if (!$this->_actionController instanceof Zend_Acl_Resource_Interface || $this->_disabled) {
         return;
     }
     $result = false;
     // $action = $this->_actionController->getRequest()->getActionName();
     $roles_tab = $this->_getActualRole();
     foreach ($roles_tab as $role) {
         try {
             $result = $this->_acl->isAllowed($role, $this->_actionController);
             if ($result == true) {
                 break;
             }
         } catch (Zend_Acl_Exception $e) {
             exit($e->getMessage());
             $result = false;
         }
     }
     if ($result === false) {
         $_redirector = new Zend_Controller_Action_Helper_Redirector();
         $_redirector->setGotoRoute(array('controller' => 'index', 'action' => 'index'));
         //$_redirector->goto ('index/index', null);
         //$this->_redirect('/index/index');
         // $this->_actionController->getHelper('redirector')->gotoUrlAndExit('"/index/index"');
     }
 }
예제 #2
0
 public function testSetGotoRoute()
 {
     $router = Zend_Controller_Front::getInstance()->getRouter();
     $route = new Zend_Controller_Router_Route('blog/archive/:id', array('controller' => 'blog', 'action' => 'view', 'id' => false), array('id' => '\\d+'));
     $router->addRoute('blogArchive', $route);
     $this->redirector->setGotoRoute(array('id' => 281), 'blogArchive');
     $this->assertEquals('/blog/archive/281', $this->redirector->getRedirectUrl());
 }
예제 #3
0
 public function setGotoRoute(array $urlOptions = array(), $name = null, $reset = false)
 {
     $urlOptions = $this->_appendSid($urlOptions);
     parent::setGotoRoute($urlOptions, $name, $reset);
 }