Firebase-Firestore拒绝所有请求,而不是拒绝不符合数据Firebase-Firestore安全规则的特定文档
allow read: if authenticated() && resource.data.status == true || author(resource.data.creatorid) || admin();我试图实现的是只有status = true文档才会出现
错误
Unhandled Exception: [cloud_firestore/permission-denied] The caller does not have permission to execute the specified operation.使用paginate_firestore flutter软件包
PaginateFirestore(
itemsPerPage: 5,
key: key,
shrinkWrap: true,
physics: ClampingScrollPhysics(),
itemBuilderType: PaginateBuilderType.listView,
itemBuilder: (index, context, documentSnapshot) {
final data = documentSnapshot.data() as Map?;
return MainComponent(
data: data,
);
},
query:
FirebaseFirestore.instance.collection('members').orderBy('title'),
isLive: false,
);从firestore检索的文档为零。屏幕显示正在加载
发布于 2021-08-25 19:29:47
我认为错误是由状态未设置为true的文档引发的。尝试在查询中添加where子句,以获取状态为true的文档。
query:
FirebaseFirestore.instance.collection('members').where("status", isEqualTo: true).orderBy('title')当涉及到向作者显示他们自己的请求时,您可以添加一个where来检查作者ID是否等于当前登录的用户ID。
query:
FirebaseFirestore.instance.collection('members').where("authorId", isEqualTo: "currentUserId").orderBy('title')还可以尝试使用括号中的逻辑或对条件进行包装:
allow read: if authenticated() && (resource.data.status == true || author(resource.data.creatorid) || admin());https://stackoverflow.com/questions/68928339
复制相似问题