ArangoDB 身份验证和数据库

标签 arangodb

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

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

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

最佳答案

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

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

关于ArangoDB 身份验证和数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31359504/

相关文章:

python - arangoDB 的 pyarango 驱动程序 : validation

arangodb - 获取 "ArangoError: bind parameter ' 值 1' was not declared in the query (while parsing)"

logging - ArangoDB FOXX 日志记录 : how to

docker - ArangoDB 未知选项 --rocksdb.encryption-keyfile

javascript - 如何安装和使用Arango-CMS演示应用程序?

arangodb truncate 在大型集合上失败

javascript - 将子查询转换为 JavaScript 以便在 Node 中使用

operators - ArangoDB - 带有 "!="运算符的数据库索引

csv - 将 csv 文件导入 ArangoDB 时缺少 '_from' 或 '_to' 属性

arangodb - 何时使用边与连接