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

Firebase存储通配符规则

扈德容
2023-03-14

我目前正在使用NodeJS、HTML和Firebase编写一个web站点,用于数据库服务、身份验证和存储。我目前遇到的问题是Firebase存储规则不能按照我对文档的解释工作。

我的Firebase存储实例的目录结构如下所示(明显有假的UID):

/
└─ users/
   ├─ a67dhfa7dhf96/
   │   ├─ picture.jpg
   │   └─ private/
   │       └─ privateDetails.txt
   └─ h9dh91hf7edgn/
       ├─ picture.jpg
       └─ private/
           └─ privateDetails.txt
service firebase.storage {
    match /b/{bucket}/o {
        match /users/{userId} {
            match /* {
                allow read;
            }
            match /private {
                allow read, write: if request.auth != null;
            }
        }
    }
}
service firebase.storage {
    match /b/{bucket}/o {
        match /users/{userId}/* {
            allow read;
        }
        match /users/{userId}/private {
            allow read, write: if request.auth != null;
        }
    }
}

共有1个答案

林德惠
2023-03-14

您应该使用通配符来匹配/users/{userId}/*

service firebase.storage {
    match /b/{bucket}/o {
        match /users/{userId} {
            match /{imageId}{
              allow read;
            }
            match /private/{imageId}{
              allow read, write: if request.auth != null;
            }
        }
    }
}
 类似资料:
  • 只是一个关于如何实现多个Firebase存储安全规则的简短问题。 事实上,我想限制可以上传的文件的大小,但保留我的认证规则。 我一直在阅读上一篇文章,它给了我一个关于如何限制每个文件的上传大小的提示,但我仍然在努力实现“匹配/files/{fileName}”与身份验证规则的某个地方。 经过多次尝试,这是我在写这篇文章之前的最后一次迭代: 当然,我确实阅读了官方文档,但似乎我仍然无法正确理解。

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

  • 假设您可以在Firebase存储安全规则中提供bucket通配符,例如: 这里声明的规则是否可能覆盖来自同一Google Cloud项目的GCS bucket的规则(如公共读取)?具体地说,在Firebase Storage browser中创建的规则是否会影响同一项目中的其他(即非Firebase)GCS桶? 一个例子: Firebase存储的规则会导致无意中获得公共读取权限吗?

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

  • 是帐单账户吗?还是那是一个随机事件? 我不相信我的应用程序超出了限制 限制多久重置一次? 在哪里可以看到每个服务/功能的实际限制? 非常感谢和抱歉给你发了这么长的帖子!

  • 是否有可能在我的Firebase查询中插入通配符? 例如。