私はAndroidプロジェクトに取り組んでいます。私のfirebaseにユーザーノードがあり、いくつかの情報をリストしたいが、私はuidを読まれたくない。私は措置を取ったが、名前や性別、身分などの情報は読まなかった。どうしたらいいですか? マイデータベースのルール。アンドロイドのfirebaseからユーザー情報を表示するには?
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid!=null && $uid === auth.uid",
"name-surname": {
".read": true,
".validate": "newData.isString() && newData.val().length < 30"
},
"status": {
".read": true,
".validate": "newData.isString()&& newData.val().length < 75"
},
"website": {
".read": true,
".validate": "newData.isString()&& newData.val().length < 80"
},
"linkedin": {
".read": true,
".validate": "newData.isString()&& newData.val().length < 80"
},
"github": {
".read": true,
".validate": "newData.isString()&& newData.val().length < 80"
}
}
}
}
私のコードの一部です。
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
final MembersInfo member = new MembersInfo();
mDatabase.child("users").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Is better to use a List, because you don't know the size
// of the iterator returned by dataSnapshot.getChildren() to
// initialize the array
String nameSurname = dataSnapshot.child("uid").child("name-surname").getValue(String.class);
Toast.makeText(MainActivity.this, nameSurname, Toast.LENGTH_SHORT).show();
member.NameSurname=nameSurname;
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(MainActivity.this, databaseError.toString(), Toast.LENGTH_SHORT).show();
}
});
あなたはuidは読まれたくないのですか? –
誰かが自分のUIDにアクセスできないということです。私はその状態が危険だと思う。 – oguzkaganeren