2015-07-11 106 views
3

我使用的是Apache API for ArangoDB 2.6(但我相信我遇到了我將要在之前版本中描述的問題)。ArangoDB身份驗證和數據庫

  1. 我使用user/passwd(root或現有用戶)使用ArangoDB進行身份驗證。
  2. 我使用相同的用戶/密碼創建一個新的數據庫。
  3. 當我嘗試使用相同的用戶/ passwd訪問新創建的數據庫時,我得到一個401(未授權)。

當我嘗試使用網絡儀表板時,我遇到了類似的問題,當我嘗試訪問數據庫頁面時,我被踢回登錄屏幕並且無法再登錄。難道我做錯了什麼?這可能是一個錯誤? 在此先感謝。

回答

4

以下似乎在打開身份驗證的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 

這應該返回一個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爲好,這意味着您可以使用新的用戶連接到剛剛創建的數據庫。

請檢查它是否適合您。

+0

是的,它似乎現在工作。我不知道爲什麼當時沒有工作,也無法重現問題。如果我再次遇到問題,我會通知您。謝謝! – Joohwan

+0

感謝您的確認。如果問題再次出現,請告訴我們。 – stj