0

所以我有一个 Firebase,其中包含所有属于不同供应商的对象列表。我使用以下规则限制了对这些位置的访问:

{
  "rules": {
    "purchases": {
      ".indexOn": "code",
      "$purchaseId": {
        ".read": "root.child('vendors').child(data.child('vendor').val()).child('id').val() == auth.uid",
        ".write": "root.child('vendors').child(data.child('vendor').val()).child('id').val() == auth.uid"        
      }
    }
}

此规则在模拟器中按预期工作。

我现在想以登录供应商的身份对采购运行查询,以仅检索我的采购。如果我具有完全的管理员访问权限(即来自基于令牌的身份验证登录),则查询本身可以正常工作,但不能通过供应商(电子邮件/密码)登录工作。

这不可能吗?

我只想退回所有授权我登录的购买。

我的查询是这样的

var ref = new Firebase("https://example.firebaseio.com");
var query = ref.orderByChild("vendor").equalTo(vendorId);
query.on("child_added", function(purchases) {
  console.log(purchases.val());
});

是否有另一种方法可以在不重组我的 Firebase 的情况下实现这一目标?

4

0 回答 0