ArangoDB 身份验证和数据库

Joo*_*wan 3 arangodb

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

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

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

stj*_*stj 5

以下内容似乎在 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
Run Code Online (Sandbox Code Playgroud)

这应该返回 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
Run Code Online (Sandbox Code Playgroud)

这应该返回 HTTP 201。

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

curl --dump - --basic --user "testuser:test1234" -X GET \
  http://127.0.0.1:8529/_db/testdb/_api/version && echo
Run Code Online (Sandbox Code Playgroud)

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

请检查这是否也适合您。