Yii2 Роль swiching после входа в систему

У пользователя есть 3 роли.

  1. RoleOne
  2. RoleTwo
  3. RoleThree

После входа в систему я хочу активировать одну из его ролей в активном режиме, а остальные роли - в неактивном режиме. Есть ли у Yii2 техника смены ролей? Или мы должны сделать нашу собственную логику.

Вот как я пытаюсь добиться этого...

$auth = new DbManager;
$auth->init();

//here I will get all roles of user              
$roles = $auth->getRolesByUser(Yii::$app->user->identity->id);

Теперь после этого, как можно установить активную роль от $roles переменная. Между ними пользователь может активировать и другие роли. Я здесь смущен, на самом деле нет никакой функциональности yii2, такой как смена ролей в любое время после входа в систему.

1 ответ

Yii2 не предоставляет ту обширную функцию, которую вы ищете. Но попробуйте этот https://github.com/webvimark/user-management модуль. Он гибкий и имеет помощника, который назначает роли следующим образом:

 User:: assignRole (Yii:: $ app-> user-> identity-> id, $ roleName) 
Прочитайте документацию по ссылке выше для получения дополнительной информации о том, как это работает.

Другие вопросы по тегам