在没有使用JavaScript进行身份验证的情况下从Firebase数据库读取数据的正确方法是什么?

时间:2017-12-21 18:21:24

标签: javascript firebase

enter image description here假设我想使用Firebase实现类似Fiverr的网站(请参阅附图)。 因此,数据库应该包含一个用户列表,每个用户都有多个属性(如名称,头像图像等)。

没有任何身份验证 - 此网站应显示这些用户的列表,其中包含一些属性(“公共”属性,其他属性应为“私有”)。 一旦用户通过身份验证(已登录),他就可以看到该网站的“管理员”部分 - 他可以在其中阅读所有属性并进行更新。

所以我的问题是: 从Firebase数据库读取数据的正确方法是什么,无需身份验证(呈现用户列表),但没有设置全局“.read”:true,“数据库规则?

2 个答案:

答案 0 :(得分:2)

实际上没有“正确”的方法,但您应该选择对您的要求有效的任何方法。一个有效的解决方案可能是让两个位置/users_public/users_private具有基于其预期可见性的不同规则。显然,/users_public应该具有全局读取访问权限,如果您希望在没有身份验证的情况下显示数据。

答案 1 :(得分:2)

执行此操作的最佳方法是使安全规则执行您想要的操作,并将编辑功能限制为登录用户,但使数据公开可见。然后在您的网站上,检查用户是否已登录,然后打开一个特殊页面,他们可以根据需要编辑他们的信息。您无需担心随机人员访问此链接并编辑信息,因为他们必须通过您的firebase规则进行身份验证。希望这有帮助!