2014-04-14 4 views
2

읽기 전용 상위 노드를 가질 수 있지만 리프 노드에 쓸 수 있습니까?Firebase Security : 읽기 전용 상위 노드이지만 쓰기 가능한 하위 노드

사용의 경우 : 어린이

나는 인증 된 사용자가 자신의 사용자 개체를 읽을 수 있도록 있지만 다른 사용자에게 평가를 쓸 수있는 것으로

사용자 부모 후기.

또는 사용자 ID가 연결된 상위 수준 노드 2 개가 다운 되었습니까?

감사합니다.

답변

2

예 - 가능합니다.

상위 규칙에서 더 제한적인 .write 규칙을 설정하지만 리프 노드에서 덜 제한적인 .write 규칙을 설정하십시오. 예를 들어

:

{ 
    "root": { 
     "parent": { 
      "$user": { 
       ".write": false, 
       ".read": true,      
       "leaf": { 
        ".write": true 
       } 
      } 
     } 
} 
+1

감사 마이크! :) – jho

+0

$ user (잎의 부모) 수준에서 .write가 거부 된 경우 잎 쓰기 가능은 어떻게됩니까? – Relm

+0

@Relm 보안 규칙 상속이 작동하는 방식 때문입니다. 리프 수준 .write = true는 상속 된 부모 노드 인 .write = false를 재정의합니다. '루트'에서 제한적인 읽기/쓰기 규칙을 설정하는 것과 비슷합니다. 사람들이 맹목적으로 모든 구조체를 작성/삭제할 수 없기 때문에 일반적으로'root'에 대한 읽기/쓰기를 거부하지만 데이터 트리의 특정 영역에 접근 할 수 있습니다. –

관련 문제