【问题标题】:Firebase Storage Rules, how to write in specific folder?Firebase存储规则,如何写入特定文件夹?
【发布时间】:2020-04-30 19:57:17
【问题描述】:

我现在有这些规则:

编辑

    rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write;
    }
  }
}

但我只想让人们在特定文件夹中写入,所以我不想覆盖所有图片以防万一出现问题。

例如,我想做这样的事情

  "Belgium" : {
    "ChatPicture" : {
      "write" = "true",
      "read"= "true"
    }
  }

我真的不明白为什么它与实时数据库规则如此不同。 谢谢你的帮助

【问题讨论】:

  • 实时数据库使用与实时数据库完全不同的语法,因此您必须学习一些新东西。它与 Firestore 规则使用的语言相同。我建议从文档开始。 firebase.google.com/docs/storage/security/start
  • 另外,在 Stack Overflow 上,请不要显示文字和代码的图片。将文本复制到问题本身并将其格式化为代码,以便于阅读。

标签: firebase firebase-storage firebase-security


【解决方案1】:

Storage security rules中指定路径很容易。

service firebase.storage {
  match /b/{bucket}/o {
    match /Belgium/ChatPicture/{allPaths=**} {
      allow read, write: if true;
    }
  }
}

【讨论】:

  • 如果有多个国家和多个文件夹可以是:匹配 /$country/$folder/{allPaths=**} 吗?国家是一个变量
  • 当然,文档显示您可以将路径通配符与{wildcard} 一起使用。我建议再读一遍。 firebase.google.com/docs/storage/security/…
  • 我更新了我的答案 [EDIT 2],你能检查一下吗?
  • 如果您有新问题,请单独发布。这就是 Stack Overflow 上的约定。
  • 我应该打开一个新问题并将链接放在这里吗?
猜你喜欢
  • 2020-10-30
  • 1970-01-01
  • 2019-05-07
  • 2020-07-29
  • 2020-10-03
  • 2021-01-06
  • 2020-02-27
  • 2017-08-11
  • 2019-03-13
相关资源
最近更新 更多