ArangoDB身份验证和数据库

时间:2015-07-11 16:49:39

标签: arangodb

我正在使用ArangoDB 2.6的HTTP API(但我相信我遇到了我将要在之前的版本中描述的问题)。

  1. 我使用user / passwd(root或现有用户)对ArangoDB进行身份验证。
  2. 我使用相同的user / passwd创建一个新数据库。
  3. 当我尝试使用相同的user / passwd访问新创建的数据库时,我得到401(未经授权)。
  4. 当我尝试使用网络仪表板时,我遇到了类似的问题,我被踢回登录屏幕,当我尝试访问数据库页面时无法再登录。难道我做错了什么?这可能是个错误吗? 提前谢谢。

1 个答案:

答案 0 :(得分:4)

以下似乎在2.6中启用了身份验证。 它使用带有curl的HTTP REST API:

首先,我们需要验证我们是否可以与特权用户实际连接到_system数据库。我们需要这个来创建一个新的数据库:

curl --dump - --basic --user "root:rootpasswd" -X GET \
  http://127.0.0.1:8529/_db/_system/_api/version && echo

这应该返回HTTP 200。 现在我们可以连接到_system数据库,我们可以发出一个调用来创建一个名为“testdb”的新数据库。我们将创建一个名为“testuser”的用户和密码“test1234”来连接它:

curl --dump - --basic --user "root:rootpasswd" -X POST \
  http://127.0.0.1:8529/_db/_system/_api/database \
  --data '{"name":"testdb","users":[{"username":"testuser","passwd":"test1234"}]}' && echo

这应该返回HTTP 201.

现在我们终于可以检查我们是否可以使用新用户实际连接到刚创建的数据库:

curl --dump - --basic --user "testuser:test1234" -X GET \
  http://127.0.0.1:8529/_db/testdb/_api/version && echo

这也应该返回HTTP 200,这意味着您可以使用新用户连接到刚刚创建的数据库。

请检查这是否适合您。