use*_*975 5 yii2-user yii2-rbac yii2-user-roles
我正在使用基于yii2角色的访问控制(RBAC)系统.我定义了角色和权限,定义了规则,为用户分配了角色.一切正常.
但我想更新分配给用户的角色.例如:
Yii::$app->authManager->assign('admin', '11');
Run Code Online (Sandbox Code Playgroud)
在这里,我做了用户ID 11管理员.现在我想更新和更改.我想成为这个用户经理.
当我尝试:
Yii::$app->authManager->assign('manager', '11');
Run Code Online (Sandbox Code Playgroud)
此用户有admin + manager.我只想将此用户角色admin更新为manager.
我怎样才能做到这一点?
首先您revoke()或revokeAll()用户角色:
删除当前角色“admin”:
$manager = Yii::$app->authManager;
$item = $manager->getRole('admin');
$item = $item ? : $manager->getPermission('admin');
$manager->revoke($item,'11');
Run Code Online (Sandbox Code Playgroud)
并再次更新用户的新角色:
$authorRole = $manager->getRole('manager');
$manager->assign($authorRole, 11);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5023 次 |
| 最近记录: |