我正在使用 Drupal 8 rest 服务注册一个新的匿名用户,它工作正常;用户是在 Drupal 中创建的。
然后我尝试指定一个自定义角色发送下面的请求
{
"name": { "value": "FooBar" },
"mail": { "value": "[email protected]" },
"pass": { "value": "secretSauce" },
"roles": [
"my_role"
]
}
但我收到错误
{
"message": "Access denied on creating field 'roles'."
}
我检查了权限,但我没有得到缺少的东西。
匿名用户不能为自己分配角色。Drupal 会自动为用户分配“经过身份验证的用户”的角色。如果适合您的需要,您可以相应地更改该角色的权限。
*如果您使用出色的 Simple oAuth 模块进行身份验证,那么您还可以根据创建帐户时使用的消费者 ID,为通过 REST API 创建的用户分配特定的“范围”(角色)。然后,在您的应用程序上,您可以为要分配给特定用户的特定角色创建逻辑。
*这一切都假设您使用的是无头方法并且用户是从 JS 前端创建的。
编辑
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句