ios - 仅获取用户对象 Firebase?

标签 ios objective-c firebase firebase-realtime-database firebase-security

在我的 Firebase 数据库中,我有一个用户可以创建的节点列表。例如:

car: {
     $uid: {
          data...
     }
}

所有用户都可以创建汽车。但是,应该允许用户获取他们制作的 car 节点。

我尝试了几种安全规则和查询的组合,将用户 uid 存储在每辆 car 中,这样我就知道是哪个用户创建的。但是我没有任何运气。

我怎样才能做到这一点?安全规则和查询的组合让我有点头晕!

最佳答案

像这样:

{
  "rules": {
    "cars": {
      "$uid": {
        ".write": "auth.uid == $uid",
        ".read": "auth.uid == $uid"
      }
    }
  }
}

使用这些规则,登录用户可以在自己的 cars 子节点下创建他们想要的任何内容。如果您只希望他们一次创建/更新/删除一辆车,您可以:

{
  "rules": {
    "cars": {
      "$uid": {
        ".read": "auth.uid == $uid",
        "$carid": {
          ".write": "auth.uid == $uid"
        }
      }
    }
  }
}

在这些规则中,用户仍然可以阅读他们的整个汽车列表。但他们一次只能创建/更新/删除汽车。

关于ios - 仅获取用户对象 Firebase?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38143229/

相关文章:

ios - Firebase 快照返回 null

ios - 在 CoreData NSSet 上使用 'filteredSetUsingPredicate' 时崩溃(NSInvalidArgumentException : set argument is not an NSSet)

iphone - 低连接性的最佳实践?

ios - 我可以使用 setAnimationRepeatCount : within a UIView animation block?

ios - 字符串复制函数在将 NSString 转换为 c 字符串时不返回任何值 strcpy

swift - firebase 中的 super 简单查询出错了(快速)

ios - 键盘打开时移动 View 的问题

objective-c - 快速加载数据到 NSTableView

ios - CoreLocations reverseGeocodeLocation 让它每分钟运行/循环一次

java - Android Firebase 排序