【发布时间】:2017-03-11 12:34:32
【问题描述】:
我需要有关 Firebase 读取规则的帮助。
这是我的数据库的结构
db:{
user:{
uid0:{
name:"mario",
lastname:"super"
}
uid1:{
name:"bubu",
lastname:"gogo"
}
uid1:{
name:"fajio",
lastname:"mkokd"
}
}
}
我的规则:
{
"rules": {
"user":{
"$uid":{
".read":"auth.uid === $uid",
}
}
}
}
使用规则模拟器,读取用户信息没有问题。
在我的活动中,我使用回收器视图来填充用户名列表,但是 我的权限被拒绝。
你有什么问题??怎么了??
这是我对填充列表的查询
Query query = FirebaseDatabase.getInstance().getReference().child("user");
编辑:
`10-28 17:28:22.680 8317-8387/com.scidaconnectpeople.www.scida W/SyncTree: Listen at /user failed: DatabaseError: Permission denied
10-28 17:28:22.680 8317-8317/com.scidaconnectpeople.www.scida W/FirebaseRecyclerAdapter: com.google.firebase.database.DatabaseException: Firebase Database error: Permission denied
at com.google.firebase.database.DatabaseError.toException(Unknown Source)
at com.firebase.ui.database.FirebaseRecyclerAdapter.onCancelled(FirebaseRecyclerAda pter.java:199)
at com.firebase.ui.database.FirebaseRecyclerAdapter$1.onCancelled(FirebaseRecyclerAdapter.java:116)
at com.firebase.ui.database.FirebaseArray.notifyCancelledListeners(FirebaseArray.java:119)
at com.firebase.ui.database.FirebaseArray.onCancelled(FirebaseArray.java:99)
at com.google.android.gms.internal.zzaip.zza(Unknown Source)
at com.google.android.gms.internal.zzakn.zzcxi(Unknown Source)
at com.google.android.gms.internal.zzaks$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5538)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:958)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:753)`
【问题讨论】:
-
db 是你的 firebase 上的一个节点吗?
-
db是firebase数据库的参考
-
尝试添加写入规则,
write:true或write==$uid。我没试过,但你可以测试 -
问题是读数据不写
-
那么请正确描述您的错误!向我们展示正确的错误
标签: android firebase firebase-realtime-database firebase-security