Yii2 Роль swiching после входа в систему
У пользователя есть 3 роли.
- RoleOne
- RoleTwo
- 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)Прочитайте документацию по ссылке выше для получения дополнительной информации о том, как это работает.