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

Firebase中如何设置proposals集合仅知晓ID才可读取对应文档?

这个需求在Firebase中完全可以实现,你遇到的问题是没有拆分read权限的细粒度控制逻辑。

Firebase安全规则中,read是复合权限,等价于同时授予get+list两类权限:

  • get:对应单文档读取请求,仅当用户传入明确的文档ID发起读请求时生效
  • list:对应所有集合级别的列表/查询请求,包含全集合拉取、带筛选条件的集合查询等

你当前的配置存在逻辑冲突:安全规则的判定逻辑是只要任意一条allow规则满足就放行,你配置了allow read: if true,等于同时给get和list都开放了权限,即使前面单独设置了allow list: if false也会被这条规则覆盖,导致列表权限被意外放开。

你只需要把read权限替换为细粒度的get权限即可,正确配置如下:

match /proposals/{uid} {
  allow list, update, delete: if false;
  allow create, get: if true;
}

配置完成后即可达到预期效果:

  • 知道文档ID的单文档读取请求可以正常返回数据
  • 所有集合级别的列表/查询请求都会被权限拦截

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:15:09