cochdb权限角色始终“未经授权”

时间:2018-06-25 13:04:11

标签: authentication permissions couchdb fauxton

我尝试使用CouchDB进行用户/角色身份验证(基于会话),但是一旦我在数据库中输入角色,所有用户和角色都可以访问数据库->未授权。

获取会话:

  

POST http://myhost:1234/_session

它返回(userCtx对象):

{
    "ok": true,
    "name": "some_user_name",
    "roles": [
        "developers"
    ]
}

然后我将角色添加到数据库中:

  

输入http://myhost:1234/database/_security

{
    "admins": {
        "names": [],
        "roles": []
    },
    "members": {
        "names": [],
        "roles": [
            "developers"
        ]
    }
}

它返回{"ok":true},我也可以在fauxton中看到权限。

当我现在尝试使用时访问数据库

  

获取http://myhost:1234/database/_all_docs

它返回:

{
    "error": "unauthorized",
    "reason": "You are not authorized to access this db."
}

2 个答案:

答案 0 :(得分:0)

啊啊,我发现了错误,我正在与邮递员进行测试,在那里我没有意识到凭据不是随请求一起发送的:-(

答案 1 :(得分:0)

如果您使用的是 Postman,请在 Headers 中添加以下键值

"Content-Type": "application/json",
  Accept: "application/json",
  Authorization: "Basic " + btoa("YOUR_ADMIN_USER:YOUR_PASSWORD")