【发布时间】:2019-11-24 21:59:08
【问题描述】:
我想添加权限,以便只有经过身份验证的用户才能将数据读/写到我的数据库中。 但我尝试编写不同类型的权限,但每次都得到相同的结果。
数据库错误:权限被拒绝
如果读写设置为true,那么只有我可以读/写数据库。
//this works
{
"rules": {
".read": true,
".write": true
}
}
//does not work
{
"rules": {
"userdetails":{
"$user_id":{
".read": "$user_id === auth.uid",
".write": "$user_id === auth.uid"
}
}
}
}
//this also not works
{
"rules": {
".read": "auth.uid != null",
".write": "auth.uid != null"
}
}
输入数据的代码是这样的:
String userfirebaseid=FirebaseAuth.getInstance().getCurrentUser().getUid();
reff = FirebaseDatabase.getInstance().getReference().child("userdetails").child((userfirebaseid));
Map setValues = new HashMap();
setValues.put("eMail ID",user_id);
setValues.put("Name",user_name);
setValues.put("Phone Number",phn_no);
reff.setValue(setValues);
我的 Firebase 数据库
请告诉我我做错了什么。
【问题讨论】:
-
如果您在
FirebaseDatabase.getInstance().getReference().child("userdetails").child((userfirebaseid))之前记录userfirebaseid的值,它会打印什么?另请注意:您在userfirebaseid周围有双括号,您可能希望将其删除。
标签: java android firebase firebase-realtime-database firebase-security