Работа с RBAC в Yii2 вызывает немало вопросов — один из них — как удалить все права для пользователя, например, для их обновления или же при удалении записи юзера. В этой статье — пример очистки списка прав RBAC для пользователя.
Итак, всё пердельно просто.
Представим ситуацию, когда нам нужно обновить права пользователю. В таком случае перед выполнением метода assign следует выполнить следующую комманду:
$auth = \Yii::$app->authManager ; // метод ниже очищает все права пользователя с id = $userId $auth->revokeAll( $userId ) ; // далее выполняем assign в соответствии с логикой задачи $auth->assign( $somePermission, $user );
Вот и весь пример. Метод revokeAll, как было сказано, удаляет все права для пользователя, id которого был передан ему в качестве параметра.
Удачи!