在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_sha
和salt
字段中(见下文)。
使用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 dbadmin和dbreader之外, _users
还有2个用户。 如果你懒得阅读已经build议的文档,应该这样做。
CouchDB Wiki有一篇关于CouchDB 安全特性的简短文章,以及如何configuration一个类似于关系数据库中的用户的“阅读器” 。
我认为你必须把Web框架放在前面,这样做的方式很多网站。 Couchdbpipe理员angular色不能以logging为基础在logging上工作,所以如果您创build一个可以读取configuration文件或帐户表的读者,他们可以读取logging。