Как изменить/обновить роль пользователя? Yii2

Я использую систему управления доступом на основе ролей yii2 (RBAC). Я определил роли и разрешения, определил правила, назначил роли пользователям. Все работает нормально.

но я хочу обновить назначенные роли пользователям. Например:

Yii::$app->authManager->assign('admin', '11');

Здесь я сделал идентификатор пользователя 11 admin. Теперь я хочу обновить и изменить. Я хочу сделать этого менеджера пользователей.

Когда я пытаюсь:

Yii::$app->authManager->assign('manager', '11');

У этого пользователя есть администратор + менеджер. Я просто хочу обновить эту роль администратора пользователя до менеджера.

Как я могу это сделать?


person devugur    schedule 04.06.2016    source источник


Ответы (1)


сначала вы отзыв() или revokeAll() роль пользователя:

Удалить текущую роль «admin»:

$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);
person jithin    schedule 16.06.2016