我刚刚开始使用loopback,而且我遇到了ACL。我的数据库有这样的关系:
现在,我希望获得用户拥有的所有部分或用户拥有的所有问题。我知道使用$ owner需要在相应的模型中使用belongsTo,但在我的情况下这是不可能的。 有没有办法实现这一点,而无需完全编写我自己的查询?
答案 0 :(得分:0)
不幸的是,$ owner角色不能用作过滤器,而是在指定实例ID时对端点的安全访问;基本上它仅在您执行 findById 时有效,但在执行查找时则无效。
示例:
GET /api/tests/
什么都不做。当前用户看到所有测试。没有执行过滤
GET /api/tests/{id}
检查当前登录的userId是否与您尝试检索的测试中的userId相对应。如果userIds匹配,则用户可以查看此特定测试。如果它们不匹配则会出现AUTHORIZATION_REQUIRED或ACCESS_DENIED错误(我不记得是哪一个)。
正如我刚刚在此question中所写的那样,你可能想看看创建一个Mixin。