Ejemplo n.º 1
0
 protected function tryRedirection(Zend_Controller_Request_Abstract $request)
 {
     $controller = $request->getControllerName();
     $module = $request->getModuleName();
     $action = $request->getActionName();
     $newRequest = clone $request;
     $group = $this->getUserGroupId();
     $acl = new Application_Model_Access_AccessControlListMapper();
     $newRoad = $acl->getRedirectRoad($group, $module, $controller, $action);
     if ($newRoad == NULL) {
         throw new Exception("noredirect");
     }
     $newRequest->setModuleName(!empty($newRoad['module']) ? $newRoad['module'] : 'splash');
     $newRequest->setControllerName(!empty($newRoad['controller']) ? $newRoad['controller'] : 'index');
     $newRequest->setActionName(!empty($newRoad['action']) ? $newRoad['action'] : 'index');
     if ($this->isAllowed($newRequest)) {
         return $newRequest;
     } else {
         throw new Exception("unallowed");
     }
 }