/** * Sets up ACL * * @return Zend_Acl */ protected function _getAcl() { $acl = new \Zend\Acl\Acl(); $acl->addRole(new Role\GenericRole('guest')); $acl->addRole(new Role\GenericRole('member'), 'guest'); $acl->addRole(new Role\GenericRole('admin'), 'member'); $acl->addRole(new Role\GenericRole('special'), 'member'); $acl->add(new Resource\GenericResource('guest_foo')); $acl->add(new Resource\GenericResource('member_foo'), 'guest_foo'); $acl->add(new Resource\GenericResource('admin_foo', 'member_foo')); $acl->add(new Resource\GenericResource('special_foo'), 'member_foo'); $acl->allow('guest', 'guest_foo'); $acl->allow('member', 'member_foo'); $acl->allow('admin', 'admin_foo'); $acl->allow('special', 'special_foo'); $acl->allow('special', 'admin_foo', 'read'); return array('acl' => $acl, 'role' => 'special'); }