我在yii2项目中使用rbac。当我打印
var_dump(\Yii::$app->authManager->getRolesByUser(Yii::$app->user->id));
我得到一个包含两个元素的数组:guest和user? 为什么“访客”角色留在授权用户?这是正常的行为还是我做错了什么?
答案 0 :(得分:0)
这是预期的。如果向defaultRoles
添加一些角色,则无论身份验证状态如何,它都将始终可用。来自$defaultRoles
docs:
在不调用assign()的情况下自动分配给每个用户的角色名称列表。请注意,无论身份验证的状态如何,这些角色都将应用于用户。