有没有办法通过规则手动批准正在发布到 firebase 数据库的帖子?
目前的规则是这样的:
{
"rules": {
".read": true,
".write": true
}
}
我的意思是允许用户从数据库发帖,但我作为管理员控制帖子是批准还是拒绝来自 firebase 控制台的帖子,这可以通过规则实现吗?
像这样Manual approval / rejection of user registration by admin using Firebase
最佳答案
Firebase 中没有为这样的审批队列内置任何内容,但您绝对可以在 Firebase 之上将其构建到您的应用中。
您实质上所做的是创建一个所谓的审核队列,用户将其发布到其中。所以你最终得到两个顶级节点:
posts
post1: ...
post2: ...
post3: ...
pending
post4: ...
post5: ...
您的常规应用的用户只能看到来自/posts
的数据。
然后您为版主创建一个单独的应用程序,该应用程序会显示审核队列中的帖子(上面的 /pending
),并让他们选择批准或拒绝它们。如果他们批准该帖子,该帖子将添加到常规应用用户看到的实际帖子列表中。
如果版主的应用程序在受信任的环境中运行,您可以考虑使用 Admin SDK,它会忽略安全规则并始终可以完全访问您的数据库。在这种情况下,您的规则可以很简单:
{
"rules": {
"posts": {
".read": true
},
"pending": {
"$postid": {
".write": "!data.exists"
}
}
}
}
这允许任何人阅读帖子,但只有管理员可以撰写帖子。另一方面,任何人都可以写入主持人队列(只要他们不覆盖现有数据),但只有管理员可以从那里读取。
关于ios - 谷歌firebase手动数据库post approval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49717813/