예제 #1
0
파일: AclTest.php 프로젝트: pnaq57/zf2demo
 /**
  * @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'));
 }
예제 #2
0
 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;
 }
예제 #3
0
 /**
  * @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);
 }