【问题标题】:Android - Firebase rules read permission issueAndroid - Firebase 规则读取权限问题
【发布时间】: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:truewrite==$uid。我没试过,但你可以测试
  • 问题是读数据不写
  • 那么请正确描述您的错误!向我们展示正确的错误

标签: android firebase firebase-realtime-database firebase-security


【解决方案1】:

Firebase 数据库安全规则在您尝试附加查询的级别强制执行。由于您在/users 上附加了一个查询,因此它会检查您是否具有读取权限。由于您没有/users 的读取权限,因此查询被拒绝/取消。

对于刚接触 Firebase 的开发人员来说,这通常是出乎意料的。我们称之为“规则不是过滤器”,in the documentationhere on Stack Overflow

【讨论】:

  • 非常感谢..我明白这个问题..现在我需要学习了!
【解决方案2】:

由于google-services.json,您面临很多问题。

请确认您已下载更新的 json 文件。

检查这些Docs

【讨论】:

  • 我确认..如果我设置 .read:true 全局回收站视图工作正常
  • @MorbusMorbus 那么它的意思很明显,问题出在规则和json文件中:stackoverflow.com/questions/37424544/…
  • 我已经下载了 ed 更新的 json 但不起作用...我认为我的查询有问题...我不知道。求帮助
猜你喜欢
  • 2021-06-13
  • 2018-02-15
  • 2020-09-26
  • 1970-01-01
  • 2019-08-20
  • 2019-08-05
  • 2020-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多