/** * @group ZF-9643 */ public function testRemoveAllowWithNullResourceAppliesToAllResources() { $this->_acl->addRole('guest'); $this->_acl->addResource('blogpost'); $this->_acl->addResource('newsletter'); $this->_acl->allow('guest', 'blogpost', 'read'); $this->_acl->allow('guest', 'newsletter', 'read'); $this->assertTrue($this->_acl->isAllowed('guest', 'blogpost', 'read')); $this->assertTrue($this->_acl->isAllowed('guest', 'newsletter', 'read')); $this->_acl->removeAllow('guest', 'newsletter', 'read'); $this->assertTrue($this->_acl->isAllowed('guest', 'blogpost', 'read')); $this->assertFalse($this->_acl->isAllowed('guest', 'newsletter', 'read')); $this->_acl->removeAllow('guest', null, 'read'); $this->assertFalse($this->_acl->isAllowed('guest', 'blogpost', 'read')); $this->assertFalse($this->_acl->isAllowed('guest', 'newsletter', 'read')); // ensure allow null/all resoures works $this->_acl->allow('guest', null, 'read'); $this->assertTrue($this->_acl->isAllowed('guest', 'blogpost', 'read')); $this->assertTrue($this->_acl->isAllowed('guest', 'newsletter', 'read')); }
public function index04Action() { $aclObj = new Acl(); $aclObj->addRole("member")->addRole("manager", "member")->addRole("admin", "manager"); $aclObj->allow("member", null, array("info", "index")); $aclObj->allow("manager", null, array("add", "edit")); $aclObj->allow("admin", null, array("delete")); $aclObj->deny("admin", null, array("info")); $aclObj->removeAllow("manager", null, array("add", "edit")); $aclObj->removeDeny("admin", null, array("info")); $role = "admin"; $privileges = array("info", "index", "add", "edit", "delete"); if ($aclObj->hasRole($role)) { foreach ($privileges as $privilege) { if ($aclObj->isAllowed($role, null, $privilege)) { echo sprintf("<h3 style='color:red;font-weight:bold'>%s : Được quyền truy cập %s</h3>", $role, $privilege); } else { echo sprintf("<h3 style='color:red;font-weight:bold'>%s : Không được quyền truy cập %s</h3>", $role, $privilege); } } } return false; }
/** * @group ZF-8039 * * Meant to test for the (in)existance of this notice: * "Notice: Undefined index: allPrivileges in lib/Zend/Acl.php on line 682" */ public function testMethodRemoveAllowDoesNotThrowNotice() { $acl = new Acl\Acl(); $acl->addRole('admin'); $acl->addResource('blog'); $acl->allow('admin', 'blog', 'read'); $acl->removeAllow(array('admin'), array('blog'), null); }