You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Firebase Realtime Database管理员写入权限规则始终返回false问题

问题原因

你配置的规则中存在变量引用语法错误:

  • 原CATEGORIES节点的写入规则里,auth.uid被单引号包裹,被系统识别为固定字符串"auth.uid",而非动态获取当前登录用户uid的内置变量,因此永远无法匹配到ADMIN节点下的真实uid子节点,校验始终返回false。
  • 原规则还存在多余尾逗号的JSON语法问题,也可能导致规则解析异常。

修复后的规则

{
  "rules": {
    "USERS": {
      ".read": "auth != null",
      ".write": "auth != null"
    },
    "CATEGORIES":{
      ".read": "auth != null",
      // 去掉auth.uid外层的引号,让它作为变量被解析
      ".write": "root.child('ADMIN').child(auth.uid).exists()"
    },
    "ADMIN": {
      // 额外提示:原配置允许所有人读写ADMIN节点存在极高安全风险,建议按需收紧权限,如下配置仅管理员可读写ADMIN节点
      ".read": "auth != null && root.child('ADMIN').child(auth.uid).exists()",
      ".write": "auth != null && root.child('ADMIN').child(auth.uid).exists()"
    }
  }
}

修复后只要登录用户的uid存在于ADMIN节点的子节点key中,就可以正常写入CATEGORIES节点。

内容的提问来源于stack exchange,提问作者Technical Art

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:33:00