2017-04-10 44 views
0

我的ArangoDB服務器包含一個帶有集合(thiscol)的數據庫(mydb),並且在集合中有一些數據。我可以通過用戶Thijs登錄並使用Web界面四處觀看。用戶無法使用REST?

我不能讓用戶Thijs使用REST API,我嘗試設置密碼,授予訪問權限,重新啓動並創建新用戶。

REST接口總是返回401 Unauthorized。我明顯地檢查了密碼。

如果我使用用戶root它一切正常。 而且我寧願不從Foxx服務開始,因爲它似乎是實現REST服務的一項大量工作,該服務已經存在但不是「可用的」。

原來是REST API只爲一個單一的硬編碼的用戶名實現的還是我失去了一些東西..

REST調用例如:http://localhost:8529/_api/collection

每個請求 enter image description here

失敗GET enter image description here

+0

當您使用ArangoDB網絡用戶界面,並且轉到'_system'數據庫時,您是否通過網站的'用戶'部分爲用戶添加了訪問權限?爲用戶添加訪問權限至'mydb'集合非常重要。 –

+0

我已經添加了數據庫級別的讀寫權限。我確實在日誌中找到了這個:啓動角色SINGLE – Thijs

+0

所以,當你去USERS然後點擊你的用戶,然後點擊權限標籤,你會看到'Read&Write(rw)'選中在你的'mydb'集合上?如果你這樣做,你應該可以通過控制檯登錄到ArangoDB的網絡用戶界面,只要確保在提供用戶名和密碼後選擇數據庫時選擇'mydb'。現在,當您通過REST進行身份驗證時,您如何提供用戶名和密碼? –

回答

1

啊,你需要指定要在URL中使用的數據庫,而不指定數據庫,它將默認爲_system。試試localhost:8529/_db/vbo/_api/collection有關更多信息,請參閱this documentation page

很高興能幫助解決問題。