Firebase安全规则。使用orderByChild()查询时如何保护路径?

时间:2017-05-05 03:43:36

标签: firebase firebase-realtime-database firebase-security

users的样本集。

"users":{
    "uid1":{
        "type":"normal"
    },
    "uid2":{
        "type":"normal"
    },
    "uid3":{
        "type":"admin"
    },
    "uid4":{
        "type":"super-admin"
    },
    "uid5":{
        "type":"disabled"
    }
}

示例规则。

"rules":{ 
    "users":{ // I dont want the collection to be readable to everyone
        "$uid":{
            ".read":"auth.uid == $uid",
            ".write":"auth.uid == $uid"
        }
    }
}

示例查询。

firebase.database()
    .ref('users')
    .orderByChild('type')
    .equalTo('normal')
    .once('value')
    .then()
    .catch()

但是,此查询会在路径Permission denied上返回/users错误。如何使基本集合安全,但通过orderByChild()仍然可以读取子代?

0 个答案:

没有答案