我正在製作Android應用程序,它將從用戶那裏收集有用的信息。這裏是代碼如何爲Android應用程序設置Firebase數據庫安全規則
Firebase postRef = mRef.child("marks");
Map<String, String> marks = new HashMap<String, String>();
marks.put("Name", fname);
marks.put("Phone", fphone);
marks.put("Year", fyear);
marks.put("Email", femail);
String uid=postRef.getKey();
Toast.makeText(im.this,"Thanks!",Toast.LENGTH_LONG).show();
這將導致從我的Android應用程序的每個用戶獲取數據。我應該如何設置特定的規則,只有經過認證的用戶才能訪問他們的信息。沒有其他用戶的信息。
我在火力地堡規則試過這樣:
{
"rules":{
"$uid":{
".read":"auth.uid==$uid",
".write":"auth.uid==$uid",
".validate":"newData.hasChildren(['uid','Email','Name'])"
}
}
}
但它不工作。請告訴我具體的解決方案。
規則看起來很好,以確保用戶只能訪問自己的數據。您共享的代碼不會讀取或寫入數據庫,因此不能失敗。有什麼問題? –
非常感謝弗蘭克查找!在實際的數據庫中,沒有UID。這是logcat。 '09 -21 00:36:03.971 31112-31223/com.example.amey.ilsalpha V/RenderScript:0x559eaba9c0啓動線程,CPUs 6 09-21 00:36:04.413 31112-31465/com.example .amey.ilsalpha W/RepoOperation:setValue at/marks/-KS7zP1oKI0WmcikjO1G失敗:FirebaseError:Permission denied' – coolamz