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

如何通过Firestore规则实现App仅展示用户本人上传的照片

问题排查

你当前不生效的规则存在两个核心错误:

  • 直接将用户uid和固定字符串'byId'做相等判断,而非读取目标文档中存储的byId字段值进行对比
  • 全局通配符/{document=**}虽然可以生效,但优先建议明确限定业务集合范围,避免影响后续其他集合的权限配置

修复后的规则

service cloud.firestore {
  match /databases/{database}/documents { 
    // 可根据你实际的照片集合名称修改此处的集合名
    match /photos/{photoId} {
      // 读写权限校验:已登录 + 当前用户uid等于文档存储的byId字段
      allow read, update, delete: if request.auth != null && request.auth.uid == resource.data.byId;
      // 新增写入校验:确保新上传的照片byId字段是当前登录用户自己的uid,防止恶意伪造归属
      allow create: if request.auth != null && request.resource.data.byId == request.auth.uid;
    }
  }
}

生效校验说明

  • 规则修改后最长可能有1分钟延迟生效,测试前建议等待1分钟再验证
  • 可以使用Firebase控制台内置的「规则游乐场」功能,模拟指定uid的请求访问对应文档,快速验证规则是否符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:09:02