我想仅为.write
'节点授予posts
权限给管理员/版主。但是对于它的两个属性stars
和starCount
,任何经过身份验证/有效的用户都可以编写。
即我希望将.write
权限授予每个有效用户的两个节点(stars和starCount)。怎么做到这一点?
我当前的数据库规则:
{
"rules": {
"users":{
"$uid":{
".read":"auth.uid === $uid",
".write":"auth.uid === $uid",
".validate": "!data.exists() && newData.hasChildren(['id','photoUrl','role','username']) && auth.uid === $uid"
}
},
"posts":{
"$post":{
".read":"auth.uid != null",
"stars":{
".write":"auth.uid != null"
},
"starCount":{
".write":"auth.uid != null",
},
"author":{
".write":"auth.token.role.matches(/moderator$/)"
},
"approvedBy":{
".write":"auth.token.role.matches(/moderator$/)"
},
"body":{
".write":"auth.token.role.matches(/moderator$/)"
},
"commentcount":{
".write":"auth.token.role.matches(/moderator$/)"
},
"title":{
".write":"auth.token.role.matches(/moderator$/)"
},
"timeStamp":{
".write":"auth.token.role.matches(/moderator$/)"
},
"url":{
".write":"auth.token.role.matches(/moderator$/)"
},
"uid":{
".write":"auth.token.role.matches(/moderator$/)"
},
"url_profile_pic":{
".write":"auth.token.role.matches(/moderator$/)"
}
}
数据库架构图: