【问题标题】:How to change/update user role? Yii2如何更改/更新用户角色? Yii2
【发布时间】:2016-06-04 07:35:14
【问题描述】:

我正在使用 yii2 基于角色的访问控制 (RBAC) 系统。我定义了角色和权限,定义了规则,为用户分配了角色。一切正常。

但我想更新分配给用户的角色。例如:

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

在这里我做了用户 id 11 管理员。现在我想更新和改变。我想做这个用户管理员。

当我尝试时:

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

这个用户有管理员 + 管理员。我只想将此用户角色 admin 更新为 manager。

我该怎么做?

【问题讨论】:

    标签: yii2-user yii2-rbac yii2-user-roles


    【解决方案1】:

    首先你是revoke()revokeAll() 用户角色:

    删除当前角色“管理员”:

    $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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-06
      • 1970-01-01
      • 2017-08-10
      • 2012-08-23
      • 2018-11-04
      • 2016-02-11
      • 2019-12-18
      相关资源
      最近更新 更多