【问题标题】:Firebase rules: permission for each users to read nodeFirebase 规则:每个用户读取节点的权限
【发布时间】:2018-02-15 21:54:15
【问题描述】:

Firebase 数据库上有 2 个节点,假设我要为其设置权限的“NodeA”和“NodeB”。

节点“用户”将包含使用该应用程序的用户列表,该节点可以从应用程序写入。 $userId 将是每个子节点的键

节点“权限”将包含每个用户的权限,用户不得从应用程序读取或写入此节点。 $userId 也是每个孩子的 key,当用户第一次进入应用程序时,默认值为 0。

假设 user1 刚刚进入应用程序,我调用一个函数在“用户”节点下创建一个新用户。我使用 firebase 函数将具有此 $userId 的节点写入“权限”节点。

在我手动将 Permission.$userId 值设置为 1 之前,此用户 1 只能读取“NodeA”,而不是“NodeB”。

如何在 Firebase 中设置此规则?

【问题讨论】:

  • 很高兴听到你想通了。对于未来的问题:不要描述您的数据模型,而是显示您正在使用的最小实际 JSON。您可以通过单击Firebase Database console 中的“导出 JSON”链接来获取此信息。拥有实际的 JSON 可以更容易地理解您在做什么。如果您随后还添加您已经尝试过的安全规则,则更有可能获得及时的帮助。

标签: firebase firebase-realtime-database firebase-security rules


【解决方案1】:

我终于找到了一种方法来做到这一点。我需要对用户进行身份验证才能在 RULES 中获取 auth 变量,并且我使用 auth.uid 与我在 Permissions 节点中手动放置的进行比较以提供正确的权限

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 2018-10-17
    相关资源
    最近更新 更多