현재 채팅 앱을 구축 중인데 Firebase 규칙에 문제가 있습니다. 사용자가 자신이 참여하지 않은 대화를 볼 수 없도록 제한하고 싶습니다. 그런데 이러한 규칙을 구현하려고 하면 대화가 존재하는지 확인해봐도 접근이 거부되는 것 같습니다. 사용자가 데이터베이스의 모든 대화가 아닌 자신이 속한 대화만 볼 수 있도록 Firebase 규칙을 올바르게 구성하려면 어떻게 해야 하나요?
이것은 제가 대화에만 구현하려고 하는 규칙 세트입니다.
으아아아액세스가 "최상위 수준"에서 거부되었습니다. 그 부분은 다음과 같습니다.
으아아아내 생각엔 중첩된 대화가 작동하는 방식과 관련이 있는 것 같은데, 무엇을 바꿔야 할지 모르겠습니다. Google Firebase 문서에서 이에 대해 읽으려고 했지만 이와 관련된 내용을 찾을 수 없습니다. 이 문제를 해결하는 방법에 대한 아이디어가 있으면 알려주시기 바랍니다. 감사해요!
여러 "규칙 세트"를 사용하여 작동하도록 시도해 보았습니다. 존재() 함수에서는 항상 실패합니다.
저도 이 방법을 시도했지만 작동하지 않는 것 같습니다.
으아아아Vue.js에서 사용하는 쿼리는 다음과 같습니다.
으으으으P粉4595788052023-09-09 14:03:04
이 실패를 유발한 실행 중인 쿼리를 공유하지 않았지만 Firestore 규칙은 필터가 아닙니다를 기억하는 것이 중요합니다.
문의가 다음과 같은 경우:
으아악Firestore가 true
的对话,那么这是行不通的。 Firestore 将发现某些对话文档不会评估为true
및 로 평가되는 규칙만 반환할 것으로 예상하면 전체 쿼리가 실패합니다.
규칙이 평가되도록 실행하는 쿼리는 규칙이 true로 평가되는 대화만 확인해야 합니다. 예:
으아악공식 Firestore 규칙 문서에서 찾을 수 있습니다.