我刚刚开始使用Firebase,并且能够读取/写入/编辑/删除数据库。在我的应用程序中,我只向用户显示数据,如果他/她有权访问它。存储的Firebase安全规则
我通过创建用户节点和另一个节点(称为服务)并引用该用户子节点中的服务来实现这一点。
我以前从未使用过Firebase的安全规则,现在我想开始使用Firebase存储进行映像。
我下面的教程和我的控制台说,
权限被拒绝。无法通过访问火力地堡控制台存储 标签访问桶.. 请启用火力地堡存储为你的水桶,并确保你有足够的 权限正确配置资源
在谷歌搜索,并就如何SO上搜索设置这些安全规则我不知道什么是正确的答案。一些答案建议我在我的代码中编写方法来授予权限,但文档建议我需要在Firebase的末尾执行此操作。
这是一个例子
// Grants a user access to a node matching their user ID
service firebase.storage {
match /b/<your-firebase-storage-bucket>/o {
// Files look like: "user/<UID>/path/to/file.txt"
match /user/{userId}/{allPaths=**} {
allow read, write: if request.auth.uid == userId;
}
}
}
我不能让人民感觉回答
赞一个从几个月前
{
"rules": {
"UsersDB": {
"$uid": {
".read": "auth.uid == $uid",
".write": "auth.uid == $uid"
}
}
}
}
有人可以请的解释目前的Firebase(和iOS Swift ..如果它很重要)如何使用户1只能读/写他/她的数据/照片
OK更换一个通配符,所以我的问题,然后我猜猜是...存储和数据库是分开的吗?...所以我需要重新创建我的存储结构 – RubberDucky4444
是的,你可以根据需要定义文件结构,但技巧是匹配文件路径和数据库和安全信息(如userId或ie的一些文件夹名称) – toofoo