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

Firebase Firestore安全规则配置:允许admins集合中存在对应UID文档的用户读取权限

完善Firebase Firestore安全规则实现管理员读取权限

没问题,我来帮你搞定这个安全规则的完善。根据你的需求,我们需要确保只有UID在admins集合中存在对应文档的已认证用户,才能读取admins集合的内容,同时保留所有人可写入的设置。

下面是完善后的规则:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /admins/{document=**} {
      // 保持所有人可执行写入操作的设置
      allow write;
      // 仅允许已认证且UID在admins集合中有对应文档的用户读取
      allow read: if request.auth != null && exists(/databases/$(database)/documents/admins/$(request.auth.uid));
    }
  }
}

规则细节解释:

  • request.auth != null:先确保用户处于已认证状态,未登录的用户直接被拒绝读取权限,避免request.auth.uid为空引发的规则错误。
  • exists(/databases/$(database)/documents/admins/$(request.auth.uid)):核心判断逻辑——检查当前登录用户的UID是否在admins集合中存在对应的文档,只有存在匹配文档时才开放读取权限。

额外提醒:

开放allow write给所有人在生产环境中风险较高,建议你根据实际业务需求调整写入权限(比如仅允许特定管理员账号写入),避免恶意用户随意修改admins集合的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 06:54:19