仅在 firebase 实时数据库中的一个节点上禁用读取规则

马万泽

我有一个连接到我的 angular 6 项目的 firebase 实时数据库,我的数据库中的写入规则设置为 false,因为我使用函数来添加、编辑、删除数据库中的任何内容,并且规则选项卡中的规则就像这

  "rules": {
    ".read": "auth != null",
    ".write": false,
  }
}

所以我的问题是如何禁用读取,仅对于一个节点让其命名为“公司”,因为我需要为其提供更高的安全性并仅使用该节点的函数发送读取请求。PS:除了“公司节点”之外,我还有很多节点
数据库结构

道格史蒂文森

一旦一个节点被授予读访问权限,就不能被后面的规则撤销。文档

{
  "rules": {
    "foo": {
      ".read": true,
      ".write": false
    }
  }
}

.read 和 .write 规则级联,因此此规则集授予对路径 /foo/ 以及任何更深路径(例如 /foo/bar/baz)中的任何数据的读取访问权限。请注意,数据库中较浅的 .read 和 .write 规则会覆盖较深的规则,因此即使路径 /foo/bar/baz 中的规则评估为 false,在此示例中仍会授予对 /foo/bar/baz 的读取访问权限。

因此,以后无法在更深的节点中更改对数据库根目录的读取访问权限的浅层授权。

您必须扩展规则以仅允许访问您希望用户读取的节点,并省略您希望拒绝访问的子节点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Firebase规则:仅在一个用户uid上启用在特定节点上的写入

如何在实时数据库Firebase中获取第一个子节点

从子节点Firebase实时数据库Swift 4中检索最后一个子

仅Firebase实时数据库DataSnapshot读取子级中的最后一个值

创建具有相同ID的另一个节点后,如何从Firebase实时数据库中删除一个节点

在一个活动中将数据写入 firebase 实时数据库并在另一个活动中读取数据

用于 2 个节点的聊天应用程序的 Firebase 实时数据库规则

访问firebase实时数据库中孩子的最后一个孩子

Firebase实时数据库-规则

Firebase实时数据库规则

在Firebase实时数据库中创建相同的节点

Firebase实时数据库中的节点是什么?

如何通过POJO类从Firebase实时数据库中读取嵌套父节点的值?

在Firebase上显示实时数据库中的数据

在一个查询中从 Firebase 实时数据库的多个引用中获取数据 javascript

如何从Android中的firebase实时数据库中获取最后一个数据

在SwiftUI中读取带有子节点的Firebase实时数据库父节点时出现问题

Firebase实时数据库同时预订一个时隙(覆盖问题)

Firebase 实时数据库只保留一个文件夹?

如何在Firebase实时数据库中基于第三个节点检索节点的节点?

配置 Firebase 实时数据库安全规则以安全读取数据

如何让 Firebase 实时数据库的安全规则读取 cookie?

Firebase 实时数据库规则。获取 url 中没有 @uid 的规则

Firebase实时数据库规则会自行重置

Firebase 实时数据库安全规则(读写)

实时数据库 Firebase 规则 - 拒绝权限

Firebase 实时数据库规则的安全性

Firebase实时数据库规则模拟失败

Firebase实时数据库公共规则