在CouchDB中创build常规用户

我如何在CouchDB中创build常规的非pipe理员用户?

首先你把用户放在_users数据库中。 文档的ID必须是org.couchdb.user:username ,例如

随着CouchDB 1.2.0或更高版本使用这个:

 { "_id": "org.couchdb.user:dbreader", "name": "dbreader", "type": "user", "roles": [], "password": "plaintext_password" } 

CouchDB会在服务器端对你的密码进行散列和密码处理,并将这些值保存在password_shasalt字段中(见下文)。

使用CouchDB <1.2.0时,用户文档需要如下所示:

 { "_id": "org.couchdb.user:dbreader", "name": "dbreader", "type": "user", "roles": [], "salt": "54935938852dd34f92c672ab31e397cedaf0946d", "password_sha": "42253ea4461a604f967813aaff90b139d7018806" } 

请注意,CouchDB 1.3.0和更高版本将使用PBKDF2而不是aha和salt来散列密码。

然后,您可以创build每个数据库身份validation,通过在特定数据库中创build具有id _security的文件,而不是版本化的,例如

 { "admins": { "names": ["dbadmin"], "roles": ["editor"] }, "readers": { "names": ["dbreader"], "roles": ["reader"] } } 

这意味着除了admin dbadmindbreader之外, _users还有2个用户。 如果你懒得阅读已经build议的文档,应该这样做。

CouchDB Wiki有一篇关于CouchDB 安全特性的简短文章,以及如何configuration一个类似于关系数据库中的用户的“阅读器”

我认为你必须把Web框架放在前面,这样做的方式很多网站。 Couchdbpipe理员angular色不能以logging为基础在logging上工作,所以如果您创build一个可以读取configuration文件或帐户表的读者,他们可以读取logging。