首页 > 解决方案 > Yii2登录后角色切换

问题描述

一个用户有 3 个角色。

  1. 角色一
  2. 角色二
  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 功能,例如在登录后随时切换角色。

标签: phpyiiyii2yii2-advanced-appyii2-rbac

解决方案


Yii2 没有提供你想要的那种广泛的功能。但是试试这个https://github.com/webvimark/user-management模块。它很灵活,并且有一个帮助器来分配角色,如下所示:

用户::assignRole(Yii::$app->user->identity->id, $roleName)
阅读上面链接中的文档,以更清楚地了解它是如何工作的


推荐阅读