Firebase는 ID 및 동적 하위 키를 나타내는 데 사용되는 와일드 카드 경로를 제공합니다. 예를 들어 아래의 규칙에서 $ uid는 해당 노드 내의 매개 변수가 상위 노드를 참조 할 수있게하는 '와일드 카드'입니다.
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid"
}
}
}
}
위 예제에서 $ uid는/users 노드 내의 모든 사용자 노드에 대한 와일드 카드 경로입니다. 위의 규칙이 노드별로 어떻게 확장되는지는 다음과 같습니다.
users
uid_0 <--------|
V
".write": "uid_0 === auth.uid" //only user with uid = uid_0 can write
uid_1
".write": "uid_1 === auth.uid" //only user with uid = uid_1 can write
uid_2
".write": "uid_2 === auth.uid" //only user with uid = uid_1 can write
확장 할 수있는 유연성이 뛰어납니다. 특정 사용자 집합이 그룹 노드에 액세스 할 수있게하려고한다고 가정 해보십시오. 그룹 규칙은
"rules": {
"Groups": {
"$group_id" : {
".read": "root.child('Allowed_Users/' + auth.uid).val() === $group_id",
".write": "root.child('Allowed_Users/' + auth.uid).val() === $group_id"
}
}
이것은 Allowed_Users 노드에 지정된 사용자의 특정 세트에 각 그룹 노드에 대한 액세스를 제한 할 수 있습니다.
Groups
group_0
//data
group_1
//data
Allowed_Users
uid_0: group_0
uid_1: group_0
이 예는 사용자 uid_0 및 uid_1 텍스트주십시오, 아니 이미지로
출처
2016-12-17 14:05:52
Jay
포스트 규칙을 group_1하는 읽기/쓰기 group_0하는 읽기/쓰기가 아니라 수 : 같은 중포 기지 데이터베이스의 데이터는 볼 수 있었다 해결책이있을 수 있으므로 와일드 카드를 통해 성취하고자하는 것은 무엇입니까? – Jay
@Jay, 설명과 함께 업데이트되었습니다! – Ahsan
나는 놀라운 대답을 올렸지 만 갑자기 읽는 것을 잊어 버렸기 때문에 그 질문에 대해 완전히 틀린 것을 읽었습니다. 그 메모에 ... 질문에 무엇이 묻고 있는지는 아직 불분명합니다. 대부분의 firebase 규칙은 둘러싼 부모 노드를 나타내는 자리 표시자를 사용합니다. 어쩌면 현재 규칙을 게시하고 후속 조치를 설명 할 수 있습니다. – Jay