React/Rebase/Firebase警告:权限被拒绝 - 如何添加用户认证?
问题描述:
请原谅我的问题的简单,但我不能得到再次基于/火力地堡工作由于权限错误(再次基于非常相似,火力https://github.com/tylermcginnis/re-base)React/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
非常感谢回复。我注意到了规则部分,但是在文档中没有说明规则代码的位置。一个rules.json文件什么的? – Marcus
您可以更改Firebase控制台中“规则”标签中的规则:“Firebase”>“数据库”>“规则”。 –
@Marcus检查我更新的答案。 –