사용자로부터 유용한 정보를 수집하는 Android 앱을 만들고 있습니다. 코드는 다음과 같습니다Android App 용 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 실행중인 스레드 (CPU) 6 09-21 00 : 36 : 04.413 31112-31465/com.example .amey.ilsalpha W/RepoOperation : setValue at/marks/-KS7zP1oKI0WmcikjO1G 실패 : FirebaseError : 권한이 거부되었습니다. ' – coolamz