1

제목에서 알 수 있듯이 다른 사용자에게 데이터베이스의 다른 부분에 대한 액세스 권한을 부여하려고합니다.uid에 따라 firebase realtime 데이터베이스의 일부에 액세스 허용

{ 
    "rules": { 
    "users": { 
     "$uid": { 
     ".write": "$uid === auth.uid" 
     } 
    } 
    } 
} 

는 내가 뭘 원하는 임의의 데이터베이스에 노드 이름에 대한 액세스를 제공입니다 : 난 단지 공식 구글 문서에 다음을 발견했다. 예를 들어이 접근 방식이 작동하지 않는 동일한 노드에 여러 사용자가 액세스하도록하고 싶습니다. 나는 다음을 시도했다 :

{ 
    "rules": { 
    "users": { 
     "myNode": { 
     ".write": "auth.uid === 1EAwd9b6d9YloPlLpf0tpyztKR12" 
     } 
    } 
    } 
} 

그러나 그것은 작동하지 않는다.

미리 도움 주셔서 감사합니다.

+1

문자열 값을 따옴표로 묶어야합니다. 또한 : 만약 당신이 규칙을 현재 사용자에게만 지정하려면,'auth.uid'를 사용하십시오. 그래서 :''.write ":"auth.uid === '1EAwd9b6d9YloPlLpf0tpyztKR12' "'. 더 많은 정보가 포함되어 있기 때문에 파이어베이스 데이터베이스 보안 가이드를 끝까지 읽는 것이 좋습니다. https://firebase.google.com/docs/database/security/ –

+0

@FrankvanPuffelen 방금 전에 발견했습니다. 조금만 실험 해보니, 어쨌든 고마워요! 또한 : 나는 Firebase 데이터베이스 보안 가이드를 읽었지만 거기에 내 문제에 대한 해결책을 찾지 못했습니다. – zomnombom

+0

@FrankvanPuffelen '$ uid'와 실수는 stackoverflow 질문의 오타였습니다. 내 원래 코드에서 "auth.uid" – zomnombom

답변

2

약간의 실험을 거친 후 오류가 단순히 문자열 값을 따옴표로 묶어야한다는 것을 알았습니다. 올바른 코드는 다음과 같습니다.

{ 
    "rules": { 
    "users": { 
     "myNode": { 
     ".write": "auth.uid === '1EAwd9b6d9YloPlLpf0tpyztKR12'" 
     } 
    } 
    } 
} 
관련 문제