【发布时间】:2020-03-03 08:13:13
【问题描述】:
这是我的 Firebase 实时数据库规则,假设这里有两个设备用户 A 和 B,A 通过 App 将数据添加到 firebase 实时数据库,所以 B 读取用户 A 添加的数据,同样 B 添加数据通过应用程序,所以A读取了该数据,但是用户A或B都只删除了他输入的自己的数据,A只删除了自己的数据,B只删除了自己的数据,但是两个用户都互相读取了数据..那么哪个规则是在这里申请。 我的规则是这样的
{
"rules": {
".read": true,
".write": false,
"AllData": {
"$uid": {
".read": true,
".write": "$uid === auth.uid"
}
}
}
}
数据发送到firebase是这样的,这是我的java代码,我的应用程序是支持谷歌和Facebook登录
FirebaseUser mUser = mAuth.getCurrentUser ();
String uid = mUser.getUid ();
myRef = FirebaseDatabase.getInstance ().getReference ( "AllData" ).child ( uid );
myRef.keepSynced ( true );//for syncronize the firebase data
Firebase 的数据是这样的
myapp-cbfba
|-- AllData
|-WNOAsWDaVlQXq2DssE9AsUCw1jB3 <- Device A
| |-M1UGU8pMJiNGd5zsG_r
| |-college:"ABES"
| |-contact:"956379797"
| |-dateTime:"03-03-2020 12:52:05"
| |-food: "Burger"
| |-name:"Vishal"
|
|-XiFNOWYYFHhjRdHx7AGOtchjN4x2 <- Device B
|-M1UGqWNjWVIlbtluD6D
|-college:"TMU"
|-contact:"9578379797"
|-dateTime:"03-03-2020 12:50:05"
|-food: "Pizza"
|-name:"Ankit"
【问题讨论】:
标签: java android firebase firebase-realtime-database firebase-authentication