假设我有一个结构如下的数据库:
是否可以编写一条规则,说明“如果存在权限p,允许用户修改文件室,其中p.userId=auth.uid和p.roomId=$rId和p.permission='admin'”?
据我所知,没有在每个房间下嵌套许可信息是不可能的。
你需要改变一下你的结构。与其使用推送id来标识权限,不如使用更受控制的结构。例如:
"Permissions": {
"roomId": {
"userId": "role"
}
}
现在,您可以随心所欲地保护房间:
{
"rules": {
"Room": {
"$rId": {
".write": "root.child('Permissions').child($rId).child(auth.Id).val() == 'admin'"
}
}
}
}
另外一个优点是,如果你想撤销用户的权限,你不必扫描所有的权限。
最近我收到了一系列Firebase通知,涉及: [Firebase]您的Cloud FiRecovery数据库有不安全的规则 我们检测到您的安全规则存在以下问题:任何用户都可以写入您的整个数据库。因为您的项目没有强大的安全规则,任何人都可以访问您的整个数据库。攻击者可以窃取、修改或删除您的数据,并会抬高您的账单` Edit2:我需要的是允许每个人都写,而不需要登录,但是只有管理员帐户应该能够从Fi
给定一组非负整数和一个值和,确定给定集合中是否有和等于给定和的子集。 例如: 我实际上用这段代码解决了问题: 然而,现在我想重建所有可能的组合,形成给定的总和。 是可以从我的回忆录矩阵中做到这一点,还是我必须以不同的方式做到这一点?
064. Minimum Path Sum[M] 题目 Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path. Note: You can only mov
问题是我不能使用具有这些规则的查询,因为(我发现)无法根据子集合是否包含某个文档进行查询。这意味着我不能列出某个用户所属的所有组。我尝试在作为一部分的映射中列出所有用户,但我无法设置谁可以编辑文档的某些部分的权限,因此这也不起作用。 编辑:据我所知,查询必须以某种方式与规则匹配,否则权限将被拒绝。如何创建一个查询来收集某个用户所在的所有组并满足此规则。
参见文档“10. Web”部分
我有一个节点。我想在其中添加炫耀文档的jsAPI。客户通过JWT授权,因此我将此添加到安全中: 然后我可以将它添加到不同的路径中,告诉客户端,要做到这一点,您需要登录。 但是,如何添加更具体的安全约束呢?例如,用户只有在以该用户身份登录时才能编辑配置文件。或者,如果用户具有超级管理员状态,或者如果他是论坛的管理员,则可以编辑评论,评论将发布在 OR 上,作为创建此评论的用户进行记录。