Horizion.io集合与公共读取访问不起作用

时间:2016-09-08 14:11:12

标签: rethinkdb horizon

我正在尝试在我的本地Horizion服务器上访问未经过身份验证的集合。

这是我的schema.toml

[collections.developerProfiles]

[collections.users]

[groups.default.rules.read_public_profile]
template = "collection('developerProfiles').find({id: any()})"

[groups.authenticated.rules.store_message]
template = "collection('developerProfiles').store({id: any(), comments: any(), score: any()})"

[groups.default.rules.read_current_user]
template = "collection('users').find({id: userId()})"

以下是我提出请求的方式。

const ProfileCollection = _horizon('developerProfiles');

    ProfileCollection.find({
        id: 'someId'
    }).fetch().subscribe(collection => {
        console.log('collection', collection);
    })

以下是通过套接字的错误:未处理的错误:错误:不允许未经身份验证的连接。

我的问题:为什么只有在我通过身份验证后才能找到工作?当我定义默认规则?我在这里错过了什么。

1 个答案:

答案 0 :(得分:1)

我明白了!

如果您希望未经身份验证的用户可以使用该集合,则必须执行以下操作。

1)您与Horizo​​n的连接

const _horizon = Horizon({
   authType: 'unauthenticated'
});

2)权限

[groups.default.rules.read_public_profile]
template = "collection('developerProfiles').find({id: any()})"

3)验证设置(我缺少的)

allow_unauthenticated: true