remove() public method

Removes a role, permission or rule from the RBAC system.
public remove ( Role | Permission | Rule $object ) : boolean
$object Role | Permission | Rule
return boolean whether the role, permission or rule is successfully removed
Beispiel #1
0
 /**
  * Remove items
  *
  * @param array $routes
  *
  * @return bool
  */
 public function remove($routes)
 {
     foreach ($routes as $route) {
         $item = $this->manager->createPermission('/' . trim($route, '/'));
         $this->manager->remove($item);
     }
     $this->invalidate();
     return true;
 }
 public function testRemoveRule()
 {
     $this->prepareData();
     $this->auth->remove($this->auth->getRule('isAuthor'));
     $rules = $this->auth->getRules();
     $this->assertEmpty($rules);
 }
 /**
  * Remove permissions.
  */
 protected function removePermissions()
 {
     if (!($permissions = ArrayHelper::getValue($this->rbac, 'permissions'))) {
         return;
     }
     $this->_permissions = [];
     foreach ($permissions as $name => $data) {
         if (!($permission = $this->_auth->getPermission($name))) {
             continue;
         }
         if (($childName = ArrayHelper::getValue($data, 'child')) && ($child = $this->_auth->getPermission($childName))) {
             $this->_auth->removeChild($permission, $child);
         }
         if ($ruleClass = ArrayHelper::getValue($data, 'rule')) {
             $rule = Yii::createObject($ruleClass);
             $this->_auth->remove($rule);
         }
         $this->_auth->remove($permission);
         $this->_permissions[$name] = $permission;
     }
 }
Beispiel #4
0
 public function actionDelete($name)
 {
     $role = $this->findRole($name);
     $this->auth->remove($role);
     return $this->redirect(['index']);
 }