【发布时间】:2019-04-18 19:03:27
【问题描述】:
我有文件要确保安全,一旦管理员将文件上传到存储中,只有他和与他共享文件的用户才能访问下载该文件的链接。因此,根据 Firestore 规则,我添加了以下内容:
match /users/{userID} {
allow read: if isOwner(userID) || isAdmin();
allow write: if isOwner(userID) || isAdmin();
}
/// FUNCTIONS BELLOW ///
function isAdmin() {
return get(/databases/$(database)/documents/users/$(request.auth.uid)).data.IsAdmin;
}
但是,当我尝试在 Firestorage 下添加相同的规则时,访问总是被拒绝。
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read: if isAdmin();
allow write: if isAdmin();
}
/// FUNCTIONS BELLOW ///
function isAdmin() {
return get(/databases/$(database)/documents/users/$(request.auth.uid)).data.IsAdmin;
}
}
}
Firestorage get 方法与 Firestore get 方法的工作方式不同吗? 任何帮助将不胜感激。
【问题讨论】:
标签: firebase firebase-realtime-database google-cloud-firestore