0
현재 사용자가 노드를 null로 설정하고 해당 노드의 모든 데이터를 삭제하지 못하도록 Firebase 보안 규칙을 만들고 있습니다. Firebase 데이터베이스 보안 규칙 삭제
이
내 스키마입니다{
"folder" : {
"item1" : {
"dataset1" : {
"data1" : 123,
"data2" : 456,
"data3" : 789
}
}
}
}
이 내 규칙 인 내가 갖는 시뮬레이터에 내장 된 이러한 결과 사용
{
"rules": {
"folder": {
// users cannot delete items in the node folder
".write": "newData.exists()",
// item is a variable
"$item": {
"dataset1": {
// dataset1 must have certain nodes and can't be deleted (set to null)
".validate": "data.hasChildren(['data1', 'data2', 'data3']) && newData.exists()",
"data1": {".validate": "newData.isNumber()"},
"data2": {".validate": "newData.isNumber()"},
"data3": {".validate": "newData.isNumber()"},
// using the variable $other means any node that isn't data1, data2, data3 is denied
"$other": {".validate": false}
}
}
}
}
}
:
이 작동을 location은 "/ folder/item1"및 "/ folder/item1/data"로 설정됩니다. 내가 DATA1에 깊은 노드를 가지고 있다면 쓰기가 허용 되었기 때문에 SET1 "
그들은 모두 삭제됩니다.
읽어 주셔서 감사합니다. 답변을 열어서 스키마를 변경할 필요가 없습니다.
안녕하세요, 2 번에서 권장 사항을 사용했습니다. "newData.hasChildren ([example, example])"을 사용하여 해당 자식을 삭제할 수 없도록했습니다. 당신의 도움을 주셔서 감사합니다! –