报个Bug,关于数据库安全规则的
将样例文档中的规则,应用到我自己数据库的表,提示规则有误。
规则:
{
"read": "true",
"delete": "get(`database.user.${id}`).isManager"
}
ERROR:Database Modify Security Rule Error:, Error: InvalidParameter, rule invalid (d94caf1f-7a8c-485c-a473-b81ecbd87fa0)
1 回复
又发现官方doc中的一个示例的问题,做了2个修改能够成功了:
1.将get中的’改为`
2.需要判断isManager==true
原示例:
{
"read": true, // 公有读
"create": "doc.publisher == auth.openid", // 都可以发文章,但对数据一致性校验,要求 publisher 为发布者 openid
"update": "doc.publisher == auth.openid || get('database.user.${auth.openid}').isManager", // 仅发布者或管理员可以更新
"delete": "doc.publisher == auth.openid || get('database.user.${auth.openid}').isManager", // 仅发布者或管理员可以删除
}
修改后:
{
"read": true,
"write": "get(`database.user.${auth.openid}`).isManager == true",
}