2017-04-10 57 views
0

我的ArangoDB服务器包含一个带有集合(thiscol)的数据库(mydb),并且在集合中有一些数据。我可以通过用户Thijs登录并使用Web界面四处观看。用户无法使用REST?

我不能让用户Thijs使用REST API,我尝试设置密码,授予访问权限,重新启动并创建新用户。

REST接口总是返回401 Unauthorized。我明显地检查了密码。

如果我使用用户root它一切正常。 而且我宁愿不从Foxx服务开始,因为它似乎是实现REST服务的一项大量工作,该服务已经存在但不是“可用的”。

原来是REST API只为一个单一的硬编码的用户名实现的还是我失去了一些东西..

REST调用例如:http://localhost:8529/_api/collection

每个请求 enter image description here

失败GET enter image description here

+0

当您使用ArangoDB网络用户界面,并且转到'_system'数据库时,您是否通过网站的'用户'部分为用户添加了访问权限?为用户添加访问权限至'mydb'集合非常重要。 –

+0

我已经添加了数据库级别的读写权限。我确实在日志中找到了这个:启动角色SINGLE – Thijs

+0

所以,当你去USERS然后点击你的用户,然后点击权限标签,你会看到'Read&Write(rw)'选中在你的'mydb'集合上?如果你这样做,你应该可以通过控制台登录到ArangoDB的网络用户界面,只要确保在提供用户名和密码后选择数据库时选择'mydb'。现在,当您通过REST进行身份验证时,您如何提供用户名和密码? –

回答

1

啊,你需要指定要在URL中使用的数据库,而不指定数据库,它将默认为_system。试试localhost:8529/_db/vbo/_api/collection有关更多信息,请参阅this documentation page

很高兴能帮助解决问题。