在loopback中使用$ owner访问远程关系

时间:2017-07-11 05:36:09

标签: loopbackjs

我刚刚开始使用loopback,而且我遇到了ACL。我的数据库有这样的关系:

  • 用户有很多测试,测试有很多用户(很多用户,我在使用环回的环回)。
  • 每个测试都有几个部分(一对多)
  • 每个部分都有几个问题(一对多)

现在,我希望获得用户拥有的所有部分或用户拥有的所有问题。我知道使用$ owner需要在相应的模型中使用belongsTo,但在我的情况下这是不可能的。 有没有办法实现这一点,而无需完全编写我自己的查询?

1 个答案:

答案 0 :(得分:0)

不幸的是,$ owner角色不能用作过滤器,而是在指定实例ID时对端点的安全访问;基本上它仅在您执行 findById 时有效,但在执行查找时则无效。

示例:

GET /api/tests/什么都不做。当前用户看到所有测试。没有执行过滤

GET /api/tests/{id}检查当前登录的userId是否与您尝试检索的测试中的userId相对应。如果userIds匹配,则用户可以查看此特定测试。如果它们不匹配则会出现AUTHORIZATION_REQUIRED或ACCESS_DENIED错误(我不记得是哪一个)。

正如我刚刚在此question中所写的那样,你可能想看看创建一个Mixin。