【问题标题】:Firebase Realtime Database Dynamic RulesFirebase 实时数据库动态规则
【发布时间】:2016-07-27 12:16:07
【问题描述】:
{
"rules": {
"Users": {
  "$user_id": {
    // grants write access to the owner of this user account
    // whose uid must exactly match the key ($user_id)
    ".write": "$user_id === auth.uid"
  }
}
"BUSINESS NAME HERE": {
".write": "root.child('Users').child(auth.uid).child('BUSINESS NAME HERE').child('Permissions').val() === "MODERATOR""
}
}
}

当用户访问企业信息时,他们使用企业名称访问他们需要的密钥中的子项。正如上面输入的那样,我如何应用它来动态地使用他们输入的任何企业名称(对不起,如果这对于 firebase 规则来说是非常基本的即时消息)。感谢您的帮助!!!

【问题讨论】:

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


    【解决方案1】:

    您使用所谓的美元变量来识别可变部分:

    {
        "rules": {
            "Users": {
                "$user_id": {
                    // grants write access to the owner of this user account
                    // whose uid must exactly match the key ($user_id)
                    ".write": "$user_id === auth.uid"
                }
            }
            "$businessName": {
                ".write": "root.child('Users').child(auth.uid).child($businessName).child('Permissions').val() === 'MODERATOR'"
            }
        }
    }
    

    【讨论】:

    • 美元变量可以命名吗?位置无关紧要吗?
    • 我也收到一个错误“保存规则时出错 - 第 10 行:预期为 ',' 或 '}'。”
    • 我回答了您发布的另一个问题:stackoverflow.com/questions/38604465/…
    猜你喜欢
    • 2021-01-31
    • 1970-01-01
    • 2020-08-08
    • 2020-02-16
    • 2019-10-11
    相关资源
    最近更新 更多