我遇到的问题是,我创建的用户无法将任何内容提交到我在下面列出的数据库中。我遵循了此处列出的步骤(在CouchDB中创建普通用户),并查看了无数页的文档以试图解决这一问题。(例如:http://wiki.apache.org/couchdb/Security_Features_Overview)。
我正在使用v1.5,并尝试将用户“ testAdmin”设置为“测试”数据库的管理员。超级管理员,这是通过futon界面创建的我的管理员帐户。
如果我查看安全文档,则可以在其中看到我的权限,该权限应允许testAdmin用户访问数据库:
curl -X GET http://superadmin:1234@localhost:5984/test/_security
Run Code Online (Sandbox Code Playgroud)
响应:
{
"admins":
{ "names":["testAdmin"],
"roles":[]
},
"readers":
{ "names":["testUser"],
"roles":[]
}
}
Run Code Online (Sandbox Code Playgroud)
然后,如果运行此命令,则会显示“您不是服务器管理员”。
curl -X PUT http://testAdmin:5678@localhost:5984/test/ -d '{"abc": "def"}'
Run Code Online (Sandbox Code Playgroud)
响应:
{"error":"unauthorized","reason":"You are not a server admin."}
Run Code Online (Sandbox Code Playgroud)
我尝试过将用户切换为阅读器,也尝试过使用我创建的当前列为阅读器的其他用户,但我一直遇到相同的错误。
编辑: 我可以使用创建的用户正常登录Futon,并且他们的权限在Futon中都可以正常工作,但是我仍然无法成功使用curl。
小智 7
使用
卷曲
curl -u USER:PASS -X PUT "http://host:port/db_target" -d '{...}'
Run Code Online (Sandbox Code Playgroud)
这可能是最初问题的解决方案。
值得补充的是,如果您将其打开并且没有意识到,Fauxton 经常会“忘记”其身份验证,以奇怪的方式失败,直到您重新加载页面并且它意识到您需要再次登录。
简而言之,我遇到了类似的问题,只需要重新验证即可解决它。
| 归档时间: |
|
| 查看次数: |
6954 次 |
| 最近记录: |