ArangoDB 身份验证和数据库

ArangoDB authentication and databases

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

  1. 我使用 user/passwd(根用户或现有用户)对 ArangoDB 进行身份验证。
  2. 我用相同的 user/passwd 创建了一个新数据库。
  3. 当我尝试使用相同的 user/passwd 访问新创建的数据库时,我收到 401(未授权)。

当我尝试使用网络仪表板时,我 运行 遇到了类似的问题,当我尝试访问数据库页面时,我被踢回登录屏幕并且无法再登录。难道我做错了什么?这可能是一个错误吗? 提前致谢。

以下似乎可以在 2.6 中启用身份验证。 它使用 HTTP REST API 和 curl:

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

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

这应该 return 一个 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

这应该 returned 一个 HTTP 201。

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

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

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

请检查这是否也适用于您。