如何从环回API获取当前用户的数据?

时间:2019-12-23 06:47:14

标签: javascript node.js loopbackjs

我正在使用环回创建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) {



};

1 个答案:

答案 0 :(得分:1)

将模型的principalId$unauthenticated更改为$owner

来自loopback documentation的注释:

  

要限定$ owner的资格,目标模型需要与User模型(或扩展User的模型)具有属地关系,并且属性必须与目标模型实例的外键匹配。 $ owner的检查仅对路径上带有“:id”的远程方法(例如GET / api / users /:id)执行。