コード例 #1
0
ファイル: Acl.php プロジェクト: dafik/dfi
 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);
         }
     }
 }
コード例 #2
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');
 }
コード例 #3
0
ファイル: Navigation.php プロジェクト: dafik/dfi
 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;
 }