首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在云修复安全规则中限制

如何在云修复安全规则中限制
EN

Stack Overflow用户
提问于 2020-05-06 17:04:31
回答 2查看 90关注 0票数 0

我正在制作一个慈善应用程序,它使用Firebase在应用程序中直接与Cloud对话

任何人(用户与否)都可以创建一个慈善机构,每个慈善机构都位于一个城市。

如果用户添加了一个新的,我想阻止其他用户在他创建慈善机构的城市里创建一个新的慈善机构30分钟。

我认为这是实现30分钟持续时间的方法,但我如何在每个城市都做到这一点?

代码语言:javascript
复制
match /charity/{document=**} {
  allow create: if isCalm(); 
  request.time > resource.data.timestamp + duration.value(30, 'm');
 }
}

如果你不明白,这里有一个例子:假设我有3个城市(A,B和C),如果用户在A城市创建一个慈善机构,我想阻止任何人在A市创建慈善机构30分钟。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-06 17:25:48

我不确定你能不能用规矩.如果你可以的话,当一个用户试图创建一个新的慈善机构时,它会打破一个例外女巫不是一个好做法.您最好将一个TimeStamp添加到您的Fi还原文档中,获取文档并验证是否已经过了30分钟

票数 1
EN

Stack Overflow用户

发布于 2020-05-06 18:01:52

我自己也没试过。

如果你有一个集合,称为城市,在那里,一个子集合被称为慈善。然后,当您访问特定的慈善子集合并编写新的慈善文档时,安全规则可以确保父(市)字段满足您至少30分钟的条件。您必须在城市文档中创建一个新字段,lastModifiedlastCharityCreatedAt。这样,就不需要云功能了。

总之,在父文档中跟踪最后一次写入,以便在需要时检查它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61640960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档