React/Rebase/Firebase警告:权限被拒绝 - 如何添加用户认证?

问题描述:

请原谅我的问题的简单,但我不能得到再次基于/火力地堡工作由于权限错误(再次基于非常相似,火力https://github.com/tylermcginnis/re-baseReact/Rebase/Firebase警告:权限被拒绝 - 如何添加用户认证?

我建立一个简单的网站作为React.js的一部分教程,我只是想在我的页面上坚持一些状态。为此,我需要的只是Firebase数据库,没有用户身份验证,但是当我设置数据库时,我遇到许可错误,因此用户身份验证必须是强制性的。

这是我在我main.js的顶部:

var Rebase = require('re-base'); 
var base = Rebase.createClass('https://fishmonger-f3761.firebaseio.com/'); 

,然后在我的主要应用程序组件,我加了这一点:

componentDidMount : function() {  
    base.syncState(this.props.params.storeId + '/fishes', { 
     context : this, 
     state : 'fishes' 
    }); 

我得到以下警告我的控制台:

FIREBASE WARNING: set at /(*my custom store name*)/fishes/fish1/name failed: permission_denied 

如何添加基于匿名浏览器会话的用户身份验证以忽略此错误?

Firebase数据库默认规则要求身份验证。

Get Started with Database Rules页:

默认情况下,你的数据库规则要求火力地堡认证和 授予完全读写权限只对身份验证的用户。 默认规则确保您的数据库在任何人都无法访问之前,只有在您有机会对其进行配置之前, 。

这意味着,例如,您可以访问任何人。你只需要(从同一个文件页面再次)更改数据库的默认规则是这样的:

// These rules give anyone, even people who are not users of your app, 
// read and write access to your database 

{ 
    "rules": { 
    ".read": true, 
    ".write": true 
    } 
} 

阅读我联系要找到一个适合您的需要在页面上的其他样本。

编辑

要访问的规则去到控制台(确保你在谷歌登录),并在工具栏菜单中选择“数据库”,然后单击“规则”选项卡上。该网址应该是类似https://console.firebase.google.com/project/<your-project>/database/rules

+0

非常感谢回复。我注意到了规则部分,但是在文档中没有说明规则代码的位置。一个rules.json文件什么的? – Marcus

+0

您可以更改Firebase控制台中“规则”标签中的规则:“Firebase”>“数据库”>“规则”。 –

+0

@Marcus检查我更新的答案。 –