我目前正在使用Firebase开发无服务器应用,
我遇到的一个问题是拥有“ admin”帐户,我通过在实时数据库中设置一个admin布尔值来解决该问题,并通过规则检查该布尔值以允许全局读取。但是,我还需要该用户访问存储在存储器中的所有文件。目前,我的规则已设置好,因此每个用户都可以从其自己的文件夹中读取内容,但这是基于用户ID的,不允许使用该管理系统。有什么办法解决吗?
这是我用于存储的规则:
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /users/{userId}/{allPaths=**} {
allow read: if request.auth != null && request.auth.uid == userId;
}
}
}
在Cloud Storage安全规则中,不可能读取存储在实时数据库中的数据(也不能读取存储在Firestore中的数据)。
一种可能的解决方案是使用一些“自定义声明”,将“管理员”角色分配给相应的用户。您可以在Cloud Storage安全规则以及数据库安全规则中使用声明。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句