Looback:配置acl和关系以列出属于已使用日志的所有对象



我正在尝试设置一个环回项目,但遇到了一个我无法解决的基本问题。

因此,我基本上已经定义了一个自定义用户模型,其中包含以下关系和acl:

"relations": {
...
"projects": {
"type": "hasMany",
"model": "project",
"foreignKey": "userId"
}
}
"acls": [
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "DENY"
},
{
"accessType": "READ",
"principalType": "ROLE",
"principalId": "$owner",
"permission": "ALLOW"
}
]

以及用属性定义的"项目"模型:

"relations": {
"user": {
"type": "belongsTo",
"model": "user",
"foreignKey": "userId"
}
},
"acls": [
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "DENY"
},
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$owner",
"permission": "ALLOW"
},
{
"accessType": "EXECUTE",
"principalType": "ROLE",
"principalId": "$authenticated",
"permission": "ALLOW",
"property": "create"
}
]

首先,令我惊讶的是,当我在登录时提交POST/projects时,我本以为外键会自动放入对象中,但看起来这必须手动完成。我想这是正常的,我想我对框架的期望太高了。

话虽如此,我一直在努力列出登录用户拥有的所有项目。使用{id}作为属于日志用户的对象执行GET/projects/{id}是可行的。当{id}指向一个不属于登录用户的对象时,我会得到一个401。

但后来,我本以为running/projects会返回登录用户拥有的所有项目,但却把401抛到了我的脸上。

我错过了什么?我的ACL设置错误吗?我用错方法了吗?我试着放一个像"{"where":{"userId":"myId"}}"这样的过滤器,但没有成功。我还尝试了其他端点/user/myId/项目,但运气并不好。

感谢

所以我想我只是得到了错误的环回,GET/projects不是正确的调用,而是GET/users/{userId}/projects。ACL和关系似乎设置正确。

相关内容

  • 没有找到相关文章

最新更新