当前位置: 首页 > 知识库问答 >
问题:

基于Firebase数据库条件创建Firebase存储安全规则[副本]

鲍钊
2023-03-14
{ userPhotos/:
       "JohnUID" : {
           "JohnURL": john.jpeg,
       },

       "JaneUID" : {
            "JaneURL": jane.jpeg,
        },

        "AbbyUID" : {
             "AbbyURL": abby.jpeg,
        },
 }
{ userReadPermissions: 
       "JohnUID": {
           "JohnUID": true,
           "JaneUID": true,
           "AbbyUID": false,
       },

       "JaneUID": {
           "JohnUID": true,
           "JaneUID": true,
           "AbbyUID": false,
       },

       "AbbyUID": {
           "JohnUID": false,
           "JaneUID": false,
           "AbbyUID": true,
       },
}

同样,简的照片只对约翰和简可见,而对艾比不可见,而艾比的照片只对艾比可见,对约翰和简都不可见。

是否有一种方法可以交叉引用跨这些Firebase服务定义的条件,从而相应地定义安全规则?

共有1个答案

傅胡媚
2023-03-14

无法从Firebase存储安全规则访问Firebase实时数据库。

您要么将读取权限直接编码到存储安全规则中(如图所示),要么将“成员资格”编码到一小组自定义声明中。

另请参阅:

    null
 类似资料:
  • 拒绝许可。无法访问存储桶..请访问Firebase控制台中的Storage选项卡,为您的存储桶启用Firebase存储,并确保您有足够的权限来正确提供资源 在谷歌搜索如何设置这些安全规则,我不确定什么是正确的答案。一些答案建议我在代码中编写方法来授予权限,但文档建议我需要在Firebase的端进行。 这是其中一个例子 我无法理解人们的回答 就像几个月前的这张 有人能解释一下当前的Firebase(

  • 当用户上载文件时,这个特定的时间存储在文件元数据中的自定义属性“过期”字段中。 我的问题是,我试图将该值用作函数的参数,如下所示: 但是“duration”函数似乎只接受幅度参数中的常量值,而不接受动态值。 有人也试过吗? 谢谢

  • 我创建了一个应用程序,它使用Firebase实时数据库。我对安全规则有一个很大的问题。我的用户不需要登录使用应用程序,他们可以发送数据到数据库,无需任何身份验证。例如:这是一个简单的游戏,他们可以互相玩,然后他们可以保存分数。我想创建一个安全的数据库,但是任何人都可以写

  • 我试图为我的云还原设置安全规则,但我对规则应该应用于哪个数据库感到困惑。 我目前使用的唯一功能是记录Firebase事件。安全规则是否适用于Firebase事件?如果是,应该为哪个数据库编写规则?如果没有,我是否可以拒绝对所有事件的读/写访问,并且事件仍将被记录并发送到BigQuery?

  • 我在中收到一条消息,告诉我我的项目有不安全的规则。但当我检查它时,我不太明白什么是不安全的。 它显示如下: 我保留了读取访问权限,因为它支持一个网站。所以任何访问该网站的人都应该能够读取数据。 至于写权限,据我所知,我是唯一能写的人。 请注意,我还有第三个系列(CollectionThree),规则中没有提到。这可能是原因吗? 除此之外,我还可以想象,只有web服务器可以获得读取权限,以便将内容提

  • 最近我收到了一系列Firebase通知,涉及: [Firebase]您的Cloud FiRecovery数据库有不安全的规则 我们检测到您的安全规则存在以下问题:任何用户都可以写入您的整个数据库。因为您的项目没有强大的安全规则,任何人都可以访问您的整个数据库。攻击者可以窃取、修改或删除您的数据,并会抬高您的账单` Edit2:我需要的是允许每个人都写,而不需要登录,但是只有管理员帐户应该能够从Fi