这是我的基地规则
{
"rules": {
".read": "auth != null",
".write": "root.child('users/auth.id/user_type').val() == 'admin'"
}
}
我的用户节点。 (数据是伪造的)
{
"users" : {
"2anxMpsdsxsd5K2" : {
"user_email" : "dsds@gmail.com",
"user_name" : "dsd",
"user_photo_url" : "somepic.jpg",
"user_roles" : {
"writer" : true
}
},
"z8uzffddelsSl1" : {
"user_email" : "xcxc@gmail.com",
"user_name" : "xcxc",
"user_photo_url" : "fb-picture",
"user_type" : "admin"
}
}
}
我尝试过使用用户角色,但仍然无法编写。我的规则会是错误的吗?
答案 0 :(得分:1)
这就是我想出的。
{
"rules": {
"users": {
".read": "auth != null",
"$user_id": {
".write": "auth.uid == $user_id || root.child('users').child(auth.uid).child('user_type').val() == 'admin'"
}
},
// "news": {
// "$news_id": {
// ".read": "auth != null",
// ".write": "auth.uid == root.child('news').child($news_id).child('news_author_id').val() || root.child('users').child(auth.uid).child('user_type').val() == 'news_contributor' || root.child('users').child(auth.uid).child('user_type').val() == 'admin' "
// }
// },
"programs": {
".read": "auth != null",
"courses": {
"$course_id": {
".write": "auth.uid == root.child('programs').child('courses').child($course_id).child('program_author_id').val() || root.child('users').child(auth.uid).child('user_type').val() == 'admin'"
}
},
"tracks": {
".read": "auth != null",
"$track_id": {
".write": "auth.uid == root.child('programs').child('tracks').child($track_id).child('program_author_id').val() || root.child('users').child(auth.uid).child('user_type').val() == 'program_contributor' || root.child('users').child(auth.uid).child('user_type').val() == 'admin'"
}
}
},
"news": {
".read": "auth != null",
"$news_id": {
".write": "root.child('users').child(auth.uid).child('user_type').val() == 'news_contributor' || auth.uid == root.child('news').child($news_id).child('news_author_id').val() == auth.uid || root.child('users').child(auth.uid).child('user_type').val() == 'admin'"
}
}
}
}
一个问题。
此错误弹出 错误TS7027:检测到无法访问的代码。