Какое правило мне следует использовать, если я хочу, чтобы только пользователь аутентификации мог записывать данные в базу данных firebase, а затем пользователь аутентификации мог читать данные от другого пользователя аутентификации.Например, пользователь А записывает данные в базу данных, я хочу, чтобы пользователь Б также мог читать данные от пользователя А.
Например, JSON:
{
"User Information" : {
"47NiYA7rGNa8nJvlnnxzpxhqvCl2" : {
"-LYuXT8d5Hzm4Sp_7buK" : {
"deceasedName" : "You",
"deceasedRelative" : "Are",
"noLot" : "34",
"relativeAddress" : "Main Road",
"relativeContact" : "0231456789"
}
},
"LV4y2BXnNWWkJix6YwTRJV8LdQs2" : {
"-LYufF_KMO1o7EULIK8Y" : {
"deceasedName" : "amir",
"deceasedRelative" : "loqman",
"noLot" : "104",
"relativeAddress" : "aman",
"relativeContact" : "123456"
}
}
}
}
Для таблицы "Информация о пользователе" имеется 2пользователь аутентификации с Uid = "47NiYA7rGNa8nJvlnnxzpxhqvCl2" и Uid = "LV4y2BXnNWWkJix6YwTRJV8LdQs2".Поэтому я хочу, чтобы каждый пользователь мог получать все данные из таблицы «Информация о пользователе».
Этот код позволял пользователю получать только свои собственные данные:
databaseReference = FirebaseDatabase.getInstance().getReference("User Information");
FirebaseUser user = firebaseAuth.getCurrentUser();
String UserID = user.getUid();
databaseReference.child(UserID).addListenerForSingleValueEvent(new ValueEventListener() { {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot INFOSnapshot : dataSnapshot.getChildren()){
UserInformation userInfo = INFOSnapshot.getValue(UserInformation.class);
infoList.add(userInfo);
}
UserInfoAdapter userInfoAdapter = new UserInfoAdapter(InfoDisplayActivity.this, infoList);
listViewINFO.setAdapter(userInfoAdapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
Я использую это правило пожарной базы:
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
Так что мне нужно изменить правило firebase или изменить кодировку?