gpt4 book ai didi

firebase - 如何检查用户是否拥有 Firebase Bolt 编译器中的对象

转载 作者:行者123 更新时间:2023-12-03 06:34:16 25 4
gpt4 key购买 nike

假设我有一个简单的架构,其中包含两个集合用户和帖子。每个帖子对象都有一个键值对(ownerId:userId),用于找出哪些用户拥有该帖子对象。

users/{1,2,3...}
posts/{a,b,c...}/ownerId:userId

我正在尝试编写用户只能读取/写入其用户数据和帖子的规则。

对于用户来说, bolt 规则非常简单:

isUser(uid) = auth != null && auth.uid == uid;
path /users/$uid {
read() = isUser($uid);
write() = isUser($uid);
}

我的问题是如何确保帖子集合只能由用户访问。我可以在规则中检查 posts 集合的 ownderId 属性吗?如果是这样,怎么办?如果不是,我该如何构建我的模式来做到这一点?

编辑

我正在尝试像这样保护帖子路径:

path /posts/$pid {
read() = isUser(this.ownerId);
write() = isUser(this.ownerId);
}

这是正确的方法吗?

最佳答案

我们可以通过向集合添加所有者 Id 属性,然后检查用户是否经过身份验证来实现此目的。

path /posts/$pid {
read() = isUser(this.ownerId);
write() = isUser(this.ownerId);
}

关于firebase - 如何检查用户是否拥有 Firebase Bolt 编译器中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35476829/

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