Firebase 数据保存权限被拒绝问题
在 Firebase 中,安全规则管理对数据库中存储的数据的访问权限。默认情况下,仅允许经过身份验证的用户读取和写入数据。然而,看起来有问题的代码正在尝试在没有任何身份验证机制的情况下保存数据。这会导致“权限被拒绝”错误。
了解安全规则
安全规则定义谁可以访问和修改 Firebase 数据库中的数据。它们可以用类似于 JSON 的简化语言编写。在提供的代码中,您需要创建并应用安全规则,以显式向尝试保存数据的用户授予写入权限。
允许未经身份验证的访问(不推荐)
作为临时解决方法,您可以将 Firebase 控制台中的现有安全规则替换为以下内容:
{ "rules": { ".read": true, ".write": true } }
但是,这种方法会使您的数据库面临潜在的滥用,因为任何拥有数据库 URL 的人都可能访问或修改其数据。不建议在生产环境中使用。
在数据访问之前登录用户
为了更安全的方法,请确保用户在访问数据库之前登录。您可以使用匿名身份验证来执行此操作,而无需用户提供任何凭据:
firebase.auth().signInAnonymously().catch(function(error) { // Handle errors here });
用户登录后,您可以将事件侦听器附加到数据库来处理数据操作,确保用户具有写入权限:
firebase.auth().onAuthStateChanged(function(user) { if (user) { // User is signed in // Set required data using useridRef.set(...) } else { // User is signed out } });
请记住,在将应用程序投入生产之前,您应该实施适当的安全措施来保护您的数据。这包括创建自定义安全规则,为不同用户或组定义特定的访问权限。
以上是为什么我在将数据保存到 Firebase 时收到'权限被拒绝”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!