Esempio n. 1
0
 public function initNavAcl(MvcEvent $e)
 {
     $acl = new \Zend\Permissions\Acl\Acl();
     $roles = (include __DIR__ . '\\config\\module.acl.roles.php');
     $allResources = array();
     foreach ($roles as $role => $resources) {
         $role = new \Zend\Permissions\Acl\Role\GenericRole($role);
         $acl->addRole($role);
         $allResources = array_merge($resources, $allResources);
         //adding resources
         foreach ($resources as $resource) {
             // Edit 4
             if (!$acl->hasResource($resource)) {
                 $acl->addResource(new \Zend\Permissions\Acl\Resource\GenericResource($resource));
             }
         }
         //adding restrictions
         foreach ($resources as $resource) {
             $acl->allow($role, $resource);
         }
     }
     //testing
     //echo var_dump($acl->isAllowed('ADMIN','logout'));
     // echo var_dump($acl->isAllowed('guest','logout'));
     //setting to view
     $e->getViewModel()->acl = $acl;
 }
Esempio n. 2
0
 public function initAcl(MvcEvent $e)
 {
     $acl = new \Zend\Permissions\Acl\Acl();
     $acls = (include __DIR__ . '/../../config/autoload/acl.php');
     $allResources = array();
     $allRoles = array();
     foreach ($acls as $resource => $actions) {
         foreach ($actions as $action => $roles) {
             $resourceString = $resource . '/' . $action;
             if (!$acl->hasResource($resourceString)) {
                 $acl->addResource(new \Zend\Permissions\Acl\Resource\GenericResource($resourceString));
             }
             foreach ($roles as $role) {
                 if (!in_array($role, $allRoles)) {
                     $allRoles[] = $role;
                     $role = new \Zend\Permissions\Acl\Role\GenericRole($role);
                     $acl->addRole($role);
                 }
                 $acl->allow($role, $resourceString);
             }
         }
     }
     //setting to view
     $e->getViewModel()->acl = $acl;
 }
Esempio n. 3
0
 public function initAcl(MvcEvent $e)
 {
     $acl = new \Zend\Permissions\Acl\Acl();
     $roles = (include __DIR__ . '/config/module.acl.roles.php');
     $allResources = array();
     foreach ($roles as $role => $resources) {
         $role = new \Zend\Permissions\Acl\Role\GenericRole($role);
         $acl->addRole($role);
         //adding resources
         foreach ($resources as $resource) {
             // Edit 4
             if (!$acl->hasResource($resource)) {
                 $acl->addResource(new \Zend\Permissions\Acl\Resource\GenericResource($resource));
             }
             $acl->allow($role, $resource);
         }
     }
     //setting to view
     $e->getViewModel()->acl = $acl;
 }
Esempio n. 4
0
 public function initAcl(MvcEvent $e)
 {
     $acl = new \Zend\Permissions\Acl\Acl();
     $roles = (include __DIR__ . '/config/module.acl.roles.php');
     $allResources = array();
     foreach ($roles as $role => $values) {
         $resources = $values['resources'];
         $role = new \Zend\Permissions\Acl\Role\GenericRole($role);
         $acl->addRole($role, $values['inherits']);
         $allResources = array_merge($resources, $allResources);
         //Resources
         foreach ($resources as $resource) {
             if (!$acl->hasResource($resource)) {
                 $acl->addResource(new \Zend\Permissions\Acl\Resource\GenericResource($resource));
             }
         }
         //Restrictions
         foreach ($resources as $resource) {
             $acl->allow($role, $resource);
         }
     }
     //setting to view
     $e->getViewModel()->acl = $acl;
 }
Esempio n. 5
0
 public function getViewHelperConfig()
 {
     return array('factories' => array('navigation' => function (\Zend\View\HelperPluginManager $pm) {
         // Setup ACL:
         $acl = new \Zend\Permissions\Acl\Acl();
         $acl->addRole(new GenericRole('member'));
         $acl->addRole(new GenericRole('admin'));
         $acl->addResource(new GenericResource('mvc:admin'));
         $acl->addResource(new GenericResource('mvc:community.account'));
         $acl->allow('member', 'mvc:community.account');
         $acl->allow('admin', null);
         // Get an instance of the proxy helper
         $navigation = $pm->get('Zend\\View\\Helper\\Navigation');
         // Store ACL and role in the proxy helper:
         $navigation->setAcl($acl)->setRole('member');
         // Return the new navigation helper instance
         return $navigation;
     }));
 }
Esempio n. 6
0
 public function initAcl(MvcEvent $e)
 {
     $acl = new \Zend\Permissions\Acl\Acl();
     $roleGuest = new Role('guest');
     $acl->addRole($roleGuest);
     $acl->addRole(new Role('user'), $roleGuest);
     $acl->addRole(new Role('admin'), 'user');
     $acl->addResource(new Resource('User'));
     $acl->addResource(new Resource('Product'));
     $acl->addResource(new Resource('Productadmin'));
     // Guest may only view content - allow($roles, $resources, $privileges)
     $acl->allow($roleGuest, 'User');
     //$acl->allow($roleGuest, 'Product', 'index');
     $acl->allow($roleGuest, 'Product', array('index', 'view'));
     $acl->allow('user', 'Product', array('shoppingCart', 'shoppingCartContent'));
     $acl->allow('admin', 'Product');
     $acl->allow('admin', 'Productadmin');
     $e->getViewModel()->acl = $acl;
 }
Esempio n. 7
0
 public function testDefaultZendAclCaching()
 {
     /* @var $cache \Zend\Cache\Storage\StorageInterface */
     $cache = $this->aclService->getCacheStorage();
     $this->assertInstanceOf('\\Zend\\Cache\\Storage\\StorageInterface', $cache);
     /* @var $acl \Zend\Permissions\Acl\Acl */
     $acl = new \Zend\Permissions\Acl\Acl();
     $acl->addResource('resource01');
     $this->assertTrue($acl->hasResource('resource01'), 'ACL object should contain resource01 before caching');
     if ($cache->hasItem('acl_cached')) {
         $cache->removeItem('acl_cached');
     }
     // Test if the ACL gets cached properly.
     $cache->addItem('acl_cached', $acl);
     $this->assertTrue($cache->hasItem('acl_cached'), 'Cache should contain Acl object');
     /* @var $aclCached \Zend\Permissions\Acl\Acl */
     $aclCached = $cache->getItem('acl_cached');
     // Test if the ACL is in working order.
     $this->assertInstanceOf('\\Zend\\Permissions\\Acl\\Acl', $aclCached);
     $this->assertTrue($aclCached->hasResource('resource01'), 'ACL object should contain resource01 after caching');
     $cache->removeItem('acl_cached');
 }
Esempio n. 8
0
 /**
  * Initiate ACLs
  */
 public function initAcl(MvcEvent $e)
 {
     $acl = new \Zend\Permissions\Acl\Acl();
     $roles = (include dirname(dirname(__DIR__)) . '/config/acl.config.php');
     $allResources = array();
     foreach ($roles as $role => $resources) {
         $role = new \Zend\Permissions\Acl\Role\GenericRole($role);
         $acl->addRole($role);
         $allResources = array_merge($resources, $allResources);
         //adding resources
         foreach ($resources as $resource) {
             if (!$acl->hasResource($resource)) {
                 $acl->addResource(new \Zend\Permissions\Acl\Resource\GenericResource($resource));
             }
         }
         //adding restrictions
         foreach ($resources as $resource) {
             $acl->allow($role, $resource);
         }
     }
     //setting to view
     $e->getViewModel()->acl = $acl;
 }