我正在使用环回创建API。到目前为止,我已经能够设置所需的所有模型。我们如何设置这些端点,以便它们仅显示已登录用户的数据?
例如,用户A在数据库中添加了一些数据,而用户B在数据库中添加了其他数据。现在,如果用户A已登录,我只想获取A添加的数据。到目前为止,我将数据库中存在的所有数据汇总在一起。
我的模型JSON如下:
{
"name": "IPs",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"identifier": {
"type": "string"
},
"IP": {
"type": "array"
},
"type": {
"type": "string"
},
"plugins": {
"type": "array"
}
},
"validations": [],
"relations": {},
"acls": [
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$unauthenticated",
"permission": "DENY"
}
],
"methods": {}
}
和JS如下:
module.exports = function(IPs) {
};
答案 0 :(得分:1)
将模型的principalId
从$unauthenticated
更改为$owner
来自loopback documentation的注释:
要限定$ owner的资格,目标模型需要与User模型(或扩展User的模型)具有属地关系,并且属性必须与目标模型实例的外键匹配。 $ owner的检查仅对路径上带有“:id”的远程方法(例如GET / api / users /:id)执行。