У пользователя есть 3 роли.
После входа в систему я хочу активировать одну из его ролей в активном режиме, а остальные роли — в неактивном режиме. Есть ли у Yii2 техника смены ролей?
Или мы должны сделать нашу собственную логику.
Вот как я пытаюсь добиться этого …
$auth = new DbManager;
$auth->init();
//here I will get all roles of user
$roles = $auth->getRolesByUser(Yii::$app->user->identity->id);
Теперь после этого, как можно установить активную роль от $roles
переменная. Между ними пользователь может активировать и другие роли. Я здесь смущен, на самом деле нет никакой функциональности yii2, такой как смена ролей в любое время после входа в систему.
Yii2 не предоставляет ту обширную функцию, которую вы ищете. Но
попробуй это https://github.com/webvimark/user-management модуль хотя. Он гибкий и имеет помощника, который назначает роли следующим образом:
User :: assignRole (Yii :: $ app-> user-> identity-> id, $ roleName)
Прочитайте документацию по ссылке выше для получения дополнительной информации о том, как это работает.
Других решений пока нет …