我正在尝试实施将图像加载到应用程序库中的规则。所有用户都应该能够读取,但只有类型为“ admin”的用户才可以上传/写入图像到存储。
我已经能够使规则与Storage内的其他几个目录一起使用,但始终在读写规则相同的地方。
例如,在用户上传自己的文档的目录中,我实现了一条规则,该规则规定要在目录中读取或写入文件,该目录必须与uid具有相同的名称或具有管理员权限。
有效的代码是:
match /userUploadedDocuments/{uid}/{allPaths=**} {
allow read, write: if (root.child('CustomerDatabase').child(request.auth.uid).child('userType').val() == 'admin')
|| request.auth.uid == uid;
}
无效的代码是:
match /gallery {
match /{allImages=**} {
allow read: if request.auth.uid != null;
allow write: if (root.child('CustomerDatabase').child(request.auth.uid).child('userType').val() == 'admin');
}
}
Firebase会接受此代码,但是每当我尝试写入目录时,它将失败。
非常欢迎您的帮助。