我想在Firebase数据库中编辑我的规则,我只想让他可以删除或编辑数据的用户属于他们,而其他用户则不能编辑或删除。
我的数据库
l制定了类似的规则,但是任何用户都可以更新或删除
{
"rules": {
"report": {
".read": "auth != null",
".write": "!data.exists() || !newData.exists()"
}
}
}
任何解决方案吗?
答案 0 :(得分:0)
我只复制官方文档中的粘贴authorization part:
Firebase数据库规则包含内置变量和函数 允许您引用其他路径,服务器端时间戳, 身份验证信息等。这是一个规则示例 向
/users/<uid>/
授予已认证用户的写访问权限,其中 是通过Firebase身份验证获得的用户的ID。
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid"
}
}
}
}
当我们谈到您的问题时:
1)因此,您的文档必须保留userId
字段才能将其与所有者相关
2)您必须在其中添加这样的规则:
{
"rules": {
"report": {
".read": "auth != null",
".write": "auth != null && ( (data.exists() && data.userId === auth.uid) || !data.exists() || !newData.exists() )"
}
}
}