不允许在Firebase存储上删除?

时间:2017-05-01 02:21:52

标签: firebase firebase-security firebase-storage

如果我不想让用户删除存储在Firebase存储中的文件,我需要编写什么规则才能完成此操作?

我知道对于Firebase数据库我会做类似的事情:

".write": "newData.val() != null"

但是我怎么做存储呢?

2 个答案:

答案 0 :(得分:1)

很确定这已被回答了几次(在几个方面),但我见过的最简单的答案是:

allow write: request.resource.someProperty == resource.someProperty || resource == null;

someProperty可以是哈希(如果您不想允许覆盖)或名称(如果您希望内容被新对象覆盖)。

答案 1 :(得分:0)

执行此操作的一种方法是,只有在新文件的MD5哈希值与现有文件相同时才允许写入:

// Allow writes if the hash of the uploaded file is the same as the existing file
allow write: if request.resource.md5Hash == resource.md5Hash;

可能有更多/更简单的方法。但这是我在https://firebase.google.com/docs/reference/security/storage/中遇到的第一个。