我正在尝试在Firestore中保护我的数据。我已经阅读了文档并观看了一些视频,但是在正确设置方面仍然有些困难。
我构建的是一个项目应用程序。使用这样的数据结构:
function updateResults() {
DWRUtil.removeAllRows("apartmentsbody");
var bedrooms = document.getElementById("bedrooms").value;
var bathrooms = document.getElementById("bathrooms").value;
var price = document.getElementById("price").value;
ApartmentDAO.findApartments(fillTable, bedrooms, bathrooms, price);
$("resultTable").style.display = '';
}
只有经过身份验证的用户才能读取和写入整个数据库,并且只有同一学校的用户才能向该学校读取和写入数据。例如,只有school2中的用户可以将项目添加到school2中。
我尝试了类似的方法,但是没有用
"School": {
school1:
school2: {
"Users": {
userId: {
"SchoolName": "school2"
}
}
"Projects": {
projectId: {
}
}
}
}
有人可以告诉我如何执行此操作,也许可以给我一些有关如何考虑安全规则的很好的解释。提前非常感谢您!
答案 0 :(得分:0)
您犯了一个错误,请替换此行:
allow read, write: if get(/databases/{database}/documents/School/$(schoolName)/Users/{userId}).data.SchoolName[(schoolName)]
与此:
allow read, write: if get(/databases/{database}/documents/School/$(schoolName)/Users/{request.auth.uid}).data.SchoolName == "school2"