我在firebase中有一个现有用户列表。
我的存储文件只能发送到“hasFullAccess”组中的用户才能访问所有存储文件。
由于我们无法添加到用户对象,因此我已将每个用户添加到数据库中,以便为其提供额外的元数据。
数据库:
{
users: {
$uid: { hasFullAccess: boolean}
}
}
现在,在存储规则中,我希望允许具有完全访问权限的用户访问完整内容。
service firebase.storage {
match /b/{bucket}/o {
match /files-demo/{allDirPaths=*} {
allow read: if true
}
match /files-complete/{allDirPaths=*} {
allow read: if request.auth != null && // (users have full access?)
}
}
}
如果可以,我如何在firebase存储规则中引用我的数据库?
答案 0 :(得分:0)
您无法从云存储规则中引用实时数据库(或Firestore)中的值。目前,这些规则系统中的每一个都完全相互独立。
然而,您可以执行的操作是编写云功能代码,以响应每个产品中的更改,这些更改还可以访问其他产品以检查值是否一致。对此主题的全面探索,以及如何以这种方式有效地使用云功能,超出了Stack Overflow答案的范围。