我正在使用Loopback版本3.24,并希望在我的模型上设置ACL,以便任何经过身份验证的用户都可以创建新对象,但是只有对象所有者可以更新对象。
当前,我具有以下ACL设置:
{
"name": "MyModel",
"plural": "MyModels",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"profileId": {
"type": "number",
"required": true
},
...
},
"validations": [],
"relations": {
"profile": {
"type": "belongsTo",
"model": "Profile",
"foreignKey": "profileId"
}
},
"acls": [
{
"accessType": "WRITE",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "DENY"
},
{
"accessType": "WRITE",
"principalType": "ROLE",
"principalId": "$owner",
"permission": "ALLOW"
},
{
"accessType": "EXECUTE",
"principalType": "ROLE",
"principalId": "$authenticated",
"permission": "ALLOW",
"property": "create"
}
],
"methods": {}
}
但是当经过身份验证的用户发布新对象时,API会以未经授权的401响应。
答案 0 :(得分:0)
ACL配置没有问题。问题是我没有随请求一起发送access_token
。添加access_token
参数后,请求成功完成。