我正在使用firebase身份验证和实时数据库构建一个新应用程序。我了解如何在数据库中保护位置,以便只有特定的经过身份验证的用户才能写入该文档:
<script src="https://rawgit.com/mrdoob/three.js/r86/build/three.min.js"></script>
<script id="vertexShader" type="x-shader/x-vertex">
varying vec2 vUv;
void main() {
vUv = uv;
gl_Position = projectionMatrix * modelViewMatrix * vec4(position,1.0);
}
</script>
<script id="fragmentShader" type="x-shader/x-fragment">
uniform vec3 color1;
uniform vec3 color2;
varying vec2 vUv;
void main() {
gl_FragColor = vec4(mix(color1, color2, vUv.y),1.0);
}
</script>
}
我想确保一个或多个用户的位置。我不确定这是否可行,如果可行,我将如何构建数据。数据是一个或多个用户可以更新的购物项列表,而所有其他用户可以查看购物项。所有用户都经过身份验证,但其中一个或多个用户被指定为购物者,因此可以添加和删除项目。
由于
克雷格
答案 0 :(得分:0)
万一有人偶然发现这个问题,一个firebase论坛的成员能够回答这个问题,我最终得到了以下数据库规则:
{
"rules": {
"users": {
".read": "auth !== null",
"$udser_id": {
".write": "$user_id === aith.uid"
}
},
"shops": {
"$shopID": {
"items": {
".read": "auth != null",
".write": "data.parent().child('shoppers').child(auth.uid).exists()"
},
"shoppers": {
".read": "auth != null",
".write": "root.child('users').child(auth.uid).child('scheduler').val() == true || data.child(auth.uid).exists()"
},
"boxes": {
".read": "auth != null",
".write": "auth != null"
}
}
}
}
}
这是基于这里的一篇文章:https://firebase.googleblog.com/2016/10/group-security-in-firebase-database.html