【问题标题】:Question about Firebase Realtime Database security rules关于 Firebase 实时数据库安全规则的问题
【发布时间】:2021-06-20 09:12:00
【问题描述】:

我正在为我的 Unity 游戏实施 Firebase 数据库,一切都很好,只是我遇到了一个小问题。

我正在制作一个每周排行榜系统,其结构为 Scores/YearWeek/Userid/Score,其中 YearWeek 由客户系统生成,例如“202112”。它正在工作,但我如何为其设置规则,以便只有经过身份验证的所有者才能编写自己的分数?

如果我手动设置当前星期,我现在有这个工作,

"Scores" :  {
"Week???" : {

  "$uid": {
  ".read": true,
  ".write": "auth.uid == $uid",
  ".indexOn" : "Score"
          }
}
}

但是我如何编写规则,使其在每周创建一个新孩子时自动应用于 Scores 的每个孩子?类似的东西;

"Scores" :  {
    "AnyChild" : {

      "$uid": {
      ".read": true,
      ".write": "auth.uid == $uid",
      ".indexOn" : "Score"
              }
    }
    }

感谢您的建议!

【问题讨论】:

    标签: c# firebase unity3d firebase-realtime-database firebase-security


    【解决方案1】:

    您已经对$uid 执行了完全相同的操作,这适用于任何用户。

    任何以$ 符号开头的规则都适用于所有子节点,除非存在针对该节点名称的特定规则。所以:"$AnyChild"

    另请参阅 wildcard capture variables 上的 Firebase 文档。

    【讨论】:

    • 成功了,我之前只是想知道'$'是什么意思哈哈。非常感谢! :)
    猜你喜欢
    • 2018-08-27
    • 2021-01-14
    • 2020-08-08
    • 2020-12-28
    • 2021-10-26
    • 2021-12-05
    • 2020-10-19
    • 1970-01-01
    相关资源
    最近更新 更多