【问题标题】:ArangoDB authentication and databasesArangoDB 身份验证和数据库
【发布时间】:2015-07-13 16:44:12
【问题描述】:

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

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

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

【问题讨论】:

    标签: arangodb


    【解决方案1】:

    以下似乎在 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,这意味着您可以使用新用户连接到刚刚创建的数据库。

    请检查这是否也适合您。

    【讨论】:

    • 是的,它现在似乎正在工作。我不知道为什么当时它不起作用并且无法重现该问题。如果我再次遇到这个问题,我会告诉你的。谢谢!
    • 感谢您的确认。如果问题再次出现,请告诉我们。
    猜你喜欢
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-21
    • 2020-05-10
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多