Kyl*_*nan 4 firebase firebase-security
我有一个签名集合,每个签名都有一些属性:public:全名,城市,然后是电子邮件。
我想保持电子邮件属性的私密性,我一直在努力编写正确的规则以仅返回全名和城市。到目前为止,这是我的rules.json内容:
{
"rules": {
"signatures": {
"$signatureID": {
"public": {
".read": true
},
"email": {
".read": false
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我转到/ signatures端点时,我希望接收带有公共数据的签名数组,而不希望接收电子邮件地址。
到目前为止,我还没有运气让它按我想要的方式工作。难道我做错了什么?我应该以不同的方式构造数据吗?
关于安全规则,Firebase操作是全有或全无。
结果,尝试加载所有数据/signatures将失败,因为您的客户端无权读取该位置的所有数据,尽管您确实有权读取该位置的某些数据。同样,写入位置的行为也相同,并且需要完全许可才能继续操作。
要处理此用例,请考虑按以下方式重组数据:
{
"rules": {
".read": false,
".write": false,
"signatures-public": {
".read": true,
"$signatureID": {
// ... public data here
}
},
"signatures-private": {
"$signatureID": {
// ... private data here
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1338 次 |
| 最近记录: |