繁体   English   中英

仅当用户知道该节点时才授权访问写入和删除 - 规则 Firebase

[英]Authorize access to write and delete only if the user knows the node - Rules Firebase

我面临一个问题:我希望我的 web 程序的用户在 firebase 中写入和删除数据,前提是他知道它在哪里,我不明白必须应用什么规则。 例如,我的用户的 ID 是“785475”,我只想给他访问“/data/785475”的权限。 请问我该怎么做? 我必须使用身份验证吗?

提前致谢,祝您有美好的一天!

在 Firebase 安全规则权限级联中。 因此,在您的 model 和要求中,重要的是用户没有对/data的读取权限,因为这意味着他们可以读取/data及其下的所有节点。

诀窍是只授予他们访问/data的各个子节点的权限:

{
  "rules": {
    "data": {
      "$any": {
        ".write": true
      }
    }
  }
}

使用上述节点,用户可以删除知道其键的任何现有节点,但他们无法读取(或查询)整个/data节点以确定这些键。


要只允许他们覆盖现有数据,而不创建任何新节点,您可以执行以下操作:

{
  "rules": {
    "data": {
      "$any": {
        ".write": "data.exists()"
      }
    }
  }
}

有关此内容和其他示例的更多信息,请查看关于新数据与现有数据的 Firebase 文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM