private function setPrivilages() { if (Zend_Auth::getInstance()->hasIdentity()) { //$privilages = AclQuery::create()->filterByRoleId($this->roleId)->find(); //$privileges = array(); $userPrivileges = Dfi_Auth_Acl::getModulesIdsByRoleId($this->roleId); $userPrivileges = $this->checkResources($userPrivileges); //$userPrivilages = array(); if ($userPrivileges) { $this->acl->allow($this->roleId, $userPrivileges); } } }
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'); }
private function createNavigation() { $this->moduleConf = Dfi_Auth_Acl::getMapModules(); $nav = new Zend_Navigation(); $modules = SysModuleQuery::create()->filterByTreeLevel(1)->orderByTreeLeft()->find(); foreach ($modules as $module) { /* @var $module SysModule */ $page = $this->createPage($module); $nav->addPage($page); if ($module->hasChildren()) { if ($module->countChildren() > 1) { $this->addChildren($page, $module); } else { $child = $module->getFirstChild(); //$page->set } } } $this->navigation = $nav; }