【发布时间】:2020-08-14 03:39:48
【问题描述】:
我有以下几行将数据写入用户集合:
final databaseReference = Firestore.instance;
await databaseReference.collection("users")
.document(userData['uid'])
.setData(userData);
和userData 是:{uid:b4WRYgXae8QIq9e3jTHscMPjvtk1,电话:+17031110000}。
我应用了以下规则,其中包含allow write: if (request.auth.uid == resource.data.uid)这一行
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{docId} {
allow read: if (true);
allow write: if (request.auth.uid == resource.data.uid)
allow read, write: if (request.auth.uid == 'xxxxx')
}
match /orders/{docId} {
allow read, write: if (request.auth.uid == resource.data.uid)
allow read, write: if (request.auth.uid == 'xxxxx')
}
}
}
但颤振我给出以下错误:
I/System.out( 931): (HTTPLog)-Static: isSBSettingEnabled false
I/System.out( 931): (HTTPLog)-Static: isSBSettingEnabled false
W/Firestore( 931): (21.4.2) [Firestore]: Write failed at users/b4WRYgXae8QIq9e3jTHscMPjvtk1: Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null}
E/flutter ( 931): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(Error performing setData, PERMISSION_DENIED: Missing or insufficient
【问题讨论】:
标签: firebase flutter google-cloud-firestore firebase-security