"display": {
".read": "auth != null",
".write": "auth != null",
"abc": {
".indexOn": ["hhh"],
"$display_id": {
"aaa": {".validate": "newData.isString() && newData.val().length > 0"},
"bbb": {".validate": "newData.isString() && newData.val().length > 0"},
"ccc": {".validate": "newData.isString() && newData.val().length > 0"},
"ddd": {".validate": "newData.isString() && newData.val().length > 0"},
"eee": {".validate": "newData.isString() && newData.val().length > 0"},
"fff": {".validate": "newData.isString() && newData.val().length > 0"},
"ggg": {".validate": "newData.isString() && newData.val().length > 0"},
"hhh": {".validate": "newData.isString() && newData.val().length > 0"},
"iii": {".validate": "newData.isString() && newData.val().length > 0"},
"jjj": {".validate": "newData.isString() && newData.val().length > 0"},
"kkk": {".validate": "newData.val() == $display_id"},
"lll": {".validate": "newData.isNumber()"},
"$others": {".validate": false}
}
}
}
위의 코드는 Firebase 데이터베이스 규칙 섹션에있는 내 경로 규칙 중 하나의 스 니펫입니다.Firebase 규칙은 읽기는 허용하지만 쓰기는 허용하지 않습니다.
참조 용으로 display_id
은 푸시 값이고 lll
은 calendar.getTimeInMillis()
에서 가져온 long 형입니다.
나는 오랫동안 이것을위한 해결책을 찾으려고 노력해 왔으며 나는 포기할 직전에있다.
이들은 지금까지 몇 가지 관찰 결과입니다.
- 규칙 트리에서 "디스플레이"위 더
.read
또는.write
이 없습니다, 그래서 읽기에 대한 또는 데이터를 쓰는 모든 계단식 오류가 없도록해야한다. 나는 좋은 데이터를 읽을 수 있기 때문에 - 내 앱의 자바 클래스 모델에서 문제가 안
- 가 나는
- 어떤이 안
auth != null
로 데이터를 읽을 수 있기 때문에 어떤 인증 오류이어야한다 규칙 애플릿으로 주석 오류가 발생하여 현재 오류가 발생하지 않습니다.
실종되었습니다. 내 애플 리케이션을 통해이 노드에 데이터를 쓸 때, 나는 Permission Denied를 계속 얻는다.
의견이 있으십니까?
문제를 일으키는 쓰기 작업을 포함하도록 질문을 업데이트하십시오. –