gpt4 book ai didi

Firebase JSON 安全性和数组

转载 作者:行者123 更新时间:2023-12-04 11:08:49 25 4
gpt4 key购买 nike

我们想在我们的(主要是非 Firebase 托管的)项目中使用 Firepad,但我们在找出解决问题的最佳方法时遇到了一些麻烦。

基本上,我们有很多用户,每个用户可以是很多组的成员。这些“组”每个都有自己的 Firepad,用户可以对其进行编辑。我们已经有一个使用 MySQL 的深度开发的数据库结构,现在并不真的想将我们的用户数据迁移到 Firebase,所以我们认为我们会变得更有创意。

我们不希望用户能够编辑他们不属于的组的 Firepad。因此,作为身份验证 token 的一部分,我们认为我们应该尝试发送用户 ID 和他们所属的组列表。然后,使用 Firebase JSON 安全系统,我们可以验证当前正在编辑的 Firepad 是否在用户所属的组列表中。

问题是,JSON 系统似乎不接受很多命令。没有 indexOf,我不能打电话 hasChildauth多变的。

我们如何确保用户只能编辑他们所属群组的 Firepad,而不会将我们的所有数据迁移到 Firebase? (或维护数据库的两份副本——一份在 MySQL 上,一份在 Firebase 上)

最佳答案

这里的技巧是使用对象而不是数组来存储组(我知道有点尴尬。我们将尝试使这更容易/更直观)。因此,在您的身份验证 token 中,您将存储以下内容:

{ userid: 'blah', groups: { 'group1': true, 'group2': true, ... } }

然后在您的安全规则中,您可能会有以下内容:
{
...
"$group": {
".read": "auth.groups[$group] == true",
".write": "auth.groups[$group] == true"
}
}

然后,仅当 在其身份验证 token 中时,用户才具有对/groups/ 的读/写访问权限。

关于Firebase JSON 安全性和数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15952885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com