首页 文章

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

提问于
浏览
0

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

  • 用户有很多测试和测试有很多用户(很多用户,在环回我使用hasmany通过) .

  • 每个测试有几个部分(一个到多个)

  • 每个部分有几个问题(一对多)

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

1 回答

  • 0

    不幸的是,$ owner角色不能用作过滤器,而是在指定实例ID时作为 endpoints 的安全访问;基本上它只在你执行 findById 时有效,但在你执行 find 时却不行 .

    例:

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

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

    正如我刚刚在_1016276中写的那样,你可能想看看创建一个Mixin .

相关问题