在CouchDB Replicator上设置user_ctx字段

时间:2011-08-30 15:17:17

标签: couchdb database-replication

"user_ctx": {
       "name": "adminuser",
       "role": "[\"_admin\"]"
   },
   "_replication_state": "error",
   "_replication_state_time": "2011-08-30T15:09:03+00:00",
   "_replication_id": "08fd9d6dcc5a0882fc9fd0d971b05938"
}

出于某种原因,我无法让我的复制器工作。日志继续显示“未授权访问数据库”,指的是我的localhost。我知道我需要设置user_ctx,但由于某种原因它只是不喜欢工作。我从我的来源复制了这些信息。我甚至创建了新的管理员用户来尝试修复问题,没有人工作。我是否需要为用户指定更多角色?

另一个有一个很好的资源https://gist.github.com/832610,但他在示例中设置的user_ctx不是admin用户,看起来只是随机角色。

任何人都有使用CouchDB复制到localhost的经验吗?

2 个答案:

答案 0 :(得分:0)

如果您将文档创建为服务器管理员,则不需要此字段。我认为完全省略它会起作用。

如果您以普通用户身份创建文档,那么它应该与您通过查询/_session可以获得的名称和角色相匹配。实际上,我认为您可以将会话响应中的userCtx字段直接复制到复制文档的user_ctx字段中。

答案 1 :(得分:0)

感谢CouchDB Apache邮件列表,我发现了我的所作所为。应该有“角色”而不是“角色”。