【发布时间】:2020-08-21 12:37:48
【问题描述】:
拥有一个带有教练路径的数据库。试图用规则来保护。因此,只有当他们的身份验证与登录时所用的用户匹配时,才允许阅读下面的内容。如果我在规则操场上测试它,它就会通过。
{
"rules": {
"Coaches": {
".indexOn": "coachEmail",
"$uid":{
".read": "$uid==auth.uid",
}
但在我的应用程序中它不起作用在 logcat 中得到错误 听 /Coaches 失败:DatabaseError: Permission denied 问题可能是什么?可能是查询数据库的代码出错了?
//Query the database to get the current user
Query query = databaseReference.orderByChild("coachEmail").equalTo(user.getEmail());
query.addValueEventListener(new ValueEventListener() {
更新:
"rules": {
"Coaches": {
".indexOn": "coachEmail",
"$uid":{
".read": "auth.uid == $uid",
".write": "auth.uid == $uid"
}
这通过了规则操场
Type read
Location /Coaches/R6qhJIyLw9S6tI5llmuBhRvWWhn1
Data null
Auth { "provider": "anonymous", "uid": "R6qhJIyLw9S6tI5llmuBhRvWWhn1" }
Admin false
每当我运行我的应用程序时,我都会收到以下错误
Listen at /Coaches failed: DatabaseError: Permission denied
不确定是什么问题
【问题讨论】:
标签: android firebase-realtime-database firebase-security