Как изменить / обновить роль пользователя? Yii2
Я использую систему управления доступом на основе ролей yii2 (RBAC). Я определил роли и разрешения, определил правила, назначил роли пользователям. Все отлично работает
но я хочу обновить назначенные роли для пользователей. Например:
Yii::$app->authManager->assign('admin', '11');
Здесь я сделал ID пользователя 11 администратора. Теперь я хочу обновить и изменить. Я хочу сделать этот менеджер пользователей.
Когда я пытаюсь:
Yii::$app->authManager->assign('manager', '11');
У этого пользователя есть администратор + менеджер. Я просто хочу обновить эту роль пользователя администратора до менеджера.
Как я могу это сделать?
1 ответ
Сначала вы запускаете роль пользователя revoke() или revokeAll():
Удалить текущую роль "администратор":
$manager = Yii::$app->authManager;
$item = $manager->getRole('admin');
$item = $item ? : $manager->getPermission('admin');
$manager->revoke($item,'11');
и снова обновите новую роль для пользователя:
$authorRole = $manager->getRole('manager');
$manager->assign($authorRole, 11);