首页 > 解决方案 > 颤振应用程序无法与 Firebase 云数据库交互

问题描述

我已将我的 firebase 云数据库规则设置为默认值

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

但是当我的颤振应用程序尝试与之交互时,会发生此错误

执行获取时出错,PERMISSION_DENIED: 权限缺失或不足。,null

标签: firebaseflutterdartgoogle-cloud-firestore

解决方案


这个条件:

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

表示您不允许从 Firestore 读取和写入,您可以将规则更改为以下内容:

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

这将允许您读取但不能写入数据库,或者您可以使用以下内容:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.time < timestamp.date(2020, 9, 20);
    }
  }
}

使用上述规则仅用于测试,请在此处查看:

https://firebase.google.com/docs/firestore/security/rules-structure


推荐阅读