【发布时间】:2018-07-22 04:41:31
【问题描述】:
我尝试设置一些重要的写入权限,但我无法解决我的问题。有人告诉我,如果我向房间添加写入规则,那么我会覆盖我的房间/$roomID/ingame 规则。
我想做的是
由 auth 用户创建 房间。 仅由房间的创建者设置/更新房间的游戏。 (有效)
规则:
{
"rules": {
".read": true,
"user": {
".indexOn": "displayname"
},
"room": {
"$roomID": {
"ingame":{
".write": "data.parent().child('creatorUid').val() == auth.uid"
}
}
}
}
}
创建新房间的方法:
let user = firebase.auth().currentUser
dbRoomRef.push().then((room) => {
room.set({
creatorUid: user.uid,
ingame: false,
})
}).catch(function(err) {
console.log(err.message)
}
)
错误信息(如预期):
FIREBASE WARNING: set at /room/-L572bnuRv0_vntko-Bd failed: permission_denied
谢谢。
【问题讨论】:
标签: firebase firebase-realtime-database firebase-security