2016-06-13 123 views
0

我的火力數據庫是這樣的: -火力地堡安全規則許可被拒絕

enter image description here

這些都是我寫的安全規則,但是當我在模擬器使用它們時驗證得很好,但在使用時代碼,賦予權限被拒絕的錯誤

{ 
    "rules": { 
    "jokes" : { 
     "textjokes" : { 
     ".read" : true, 
     ".write": "auth != null" 
    } 
}, 
    "users": { 
    "$uid": { 
    ".write": "$uid == auth.uid" 
    } 
}, 
"userslikelist": { 
    "$uid": { 
    ".write": "$uid == auth.uid" 
    } 
} 
} 

}

我得到錯誤: -

/userslikelist/qzCqJph6XcZbiIpbDKTTxwjRHrh1/-KK850oXwPnOvxan1xNG失敗:FirebaseError:權限被拒絕

/笑話/ textjokes/MISC-0-01/likeCount失敗:FirebaseError:權限被拒絕

我的代碼: -

Firebase ref = new Firebase("https://xxxxxxxxx.firebaseio.com/userslikelist/" + mAuth.getCurrentUser().getUid()); 
    ref.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) { 
       if(!likedMap.containsKey(postSnapshot.getKey())){ 
        likedMap.put(postSnapshot.getKey(), postSnapshot.getValue(String.class)); 
       } 
      } 
     } 

     @Override 
     public void onCancelled(FirebaseError firebaseError) { 

     } 
    }); 

我不明白。我究竟做錯了什麼?

更新的代碼: -

{ 
    "rules": { 
     "jokes": { 
      "textjokes": { 
       ".read": true, 
       ".write": "auth != null" 
      } 
     }, 
     "users": { 
      "$uid": { 
       ".write": "$uid == auth.uid" 
      } 
     }, 
     "userslikelist": { 
      "$uid": { 
       ".read": "$uid == auth.uid", 
       ".write": "$uid == auth.uid" 
      } 
     } 
    } 
} 

回答

1

你不給讀訪問權/userslikelist/userId那麼您將無法獲得dataSnapshotonDataChange

請務必在/userslikelist/userId級別設置讀取權限。

{ 
    "rules": { 
    "jokes" : { 
     "textjokes" : { 
     ".read" : true, 
     ".write": "auth != null" 
     } 
    }, 
    "users": { 
     "$uid": { 
     ".write": "$uid == auth.uid" 
     } 
    }, 
    "userslikelist": { 
     "$uid": { 
     ".read": "$uid == auth.uid", //do whatever logic you need here 
     ".write": "$uid == auth.uid" 
     } 
    } 
    } 
} 
+0

我給讀= true來 「userslikelist」 節點,但仍然一無所獲。同樣的錯誤 –

+0

@adofosrs對不起,沒有工作。還是一樣的錯誤 –

+1

請顯示您的更新代碼/規則,因爲這肯定是一個錯誤。 –