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

如何配置Firebase Realtime Rules仅Admins节点用户可写入指定节点

规则修改方案

你只需要调整PrivateWork、Work、videos三个节点的.write权限规则,新增管理员身份校验逻辑即可,其余原有规则可保持不变。
校验逻辑为:判断当前登录用户的UID是否存在于Admins节点下,仅存在时允许写入操作。

修改后完整规则

{
  "rules": {
    "Admins": {
      ".read": true,
      ".write": false
    },
    "Users": {
      ".read": true,
      ".write": true,
      ".validate": "newData.hasChildren(['name', 'phoneNumber', 'uid'])",
      "name": {".validate": true},
      "phoneNumber": {".validate": true},
      "uid": {".validate": true},
      "$other": {".validate": false}
    },
    "PrivateWork": {
      ".read": "auth.uid != null",
      ".write": "auth.uid != null && root.child('Admins').child(auth.uid).exists()"
    },
    "Likes": {
      ".read": "auth.uid != null",
      ".write": "auth.uid != null"
    },
    "Work": {
      ".read": "auth.uid != null",
      ".write": "auth.uid != null && root.child('Admins').child(auth.uid).exists()"
    },
    "videos": {
      ".read": "auth.uid != null",
      ".write": "auth.uid != null && root.child('Admins').child(auth.uid).exists()"
    }
  }
}

注意事项

  • 你需要确保Admins节点的存储结构为Admins/{管理员UID}的形式,比如管理员UID为abc123,你需要在Admins节点下新增键为abc123的子节点(值可以随意填写,规则仅校验该UID对应的节点是否存在)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:45:03