Esempio n. 1
0
 /**
  * Ensures that removal of all Roles results in Role-specific rules being removed
  *
  * @return void
  */
 public function testRuleRoleRemoveAll()
 {
     $this->_acl->addRole(new Zend_Acl_Role('guest'))->allow('guest');
     $this->assertTrue($this->_acl->isAllowed('guest'));
     $this->_acl->removeRoleAll();
     try {
         $this->_acl->isAllowed('guest');
         $this->fail('Expected Zend_Acl_Role_Registry_Exception not thrown upon isAllowed() on non-existent Role');
     } catch (Zend_Acl_Role_Registry_Exception $e) {
         $this->assertContains('not found', $e->getMessage());
     }
     $this->_acl->addRole(new Zend_Acl_Role('guest'));
     $this->assertFalse($this->_acl->isAllowed('guest'));
 }
Esempio n. 2
0
 /**
  * Ensures that removal of all Roles results in Role-specific rules being removed
  *
  * @return void
  */
 public function testRuleRoleRemoveAll()
 {
     $this->_acl->addRole(new Role\GenericRole('guest'))->allow('guest');
     $this->assertTrue($this->_acl->isAllowed('guest'));
     $this->_acl->removeRoleAll();
     try {
         $this->_acl->isAllowed('guest');
         $this->fail('Expected Zend\\Acl\\Role\\Exception not thrown upon isAllowed() on non-existent Role');
     } catch (Acl\Exception\InvalidArgumentException $e) {
         $this->assertContains('not found', $e->getMessage());
     }
     $this->_acl->addRole(new Role\GenericRole('guest'));
     $this->assertFalse($this->_acl->isAllowed('guest'));
 }
 /**
  * Prüft, ob schon überprüft wurde, ob es etwas zu cachen gibt, und holt
  * dies im Zweifallsfall nach.
  * @return Dkplus_Acl_Adaptable
  */
 protected function _checkCaching()
 {
     if (!$this->_cachingCalled) {
         if ($this->hasCachingAdapter()) {
             $changes = $this->_getCachingAdapter()->getChanges();
             foreach ($changes as $change) {
                 //Role und Resource wurden geändert (Regeländerung)
                 if (!is_null($change['role']) and !is_null($change['resource'])) {
                     if ($this->hasLoaded($change['role'], $change['resource'])) {
                         $this->_setUnloaded($change['role'], $change['resource']);
                     }
                 } elseif (!is_null($change['role'])) {
                     if ($this->hasRoleLoaded($change['role'])) {
                         $this->_loaded = array();
                         $this->_loadedResources = array();
                         $this->_loadedRoles = array();
                         parent::removeAll();
                         parent::removeRoleAll();
                     }
                 } elseif (!is_null($change['resource'])) {
                     if ($this->hasResourceLoaded($change['resource'])) {
                         $this->_loaded = array();
                         $this->_loadedResources = array();
                         $this->_loadedRoles = array();
                         parent::removeAll();
                         parent::removeRoleAll();
                     }
                 }
             }
         }
     }
     $this->_cachingCalled = true;
     return $this;
 }