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

Flutter应用出现Firestore PERMISSION_DENIED权限错误求助

解决Firestore权限拒绝问题

你的Firestore权限拒绝错误是因为当前规则限制了仅在2022年9月24日之前允许读写操作,当前时间已超过这个日期,所以触发了PERMISSION_DENIED错误。

解决方案

1. 开发环境临时放开权限(仅用于测试)

如果是开发阶段需要快速调试,可以临时设置全开放权限,但注意绝对不能在生产环境使用:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

2. 生产环境安全规则(推荐)

根据你的业务需求设置合理的权限,以下是几种常见场景:

  • 要求用户登录后才能访问:
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}
  • 限制用户仅能访问自己的文档(假设数据结构为users/{userId}):
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow read, write: if request.auth.uid == userId;
    }
  }
}

修改规则步骤

  1. 打开Firebase控制台,进入你的项目
  2. 找到Firestore数据库,切换到「规则」标签页
  3. 替换现有规则为上述对应代码
  4. 点击「发布」保存更改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 16:01:01