【发布时间】:2011-07-30 08:31:00
【问题描述】:
我正在使用 jquery.couch.js 对我的 Sproutcore 应用程序中的 CouchDB _users 数据库进行注册/登录/注销。有人知道更改用户 ID 和密码的方法吗?
【问题讨论】:
我正在使用 jquery.couch.js 对我的 Sproutcore 应用程序中的 CouchDB _users 数据库进行注册/登录/注销。有人知道更改用户 ID 和密码的方法吗?
【问题讨论】:
据我所知,用户名不能更改,但密码可以。
CouchDB documentation详细描述了更改用户密码的过程,简短:
获取org.couchdb.user:<myuser>文档
使用明文密码添加密码字段
将文档存回_users数据库
只要文档在数据库中,CouchDB 就会使用 PBKDF2 重新散列明文密码(至少从 CouchDB 1.3 开始)。
【讨论】:
不幸的是,没有内置的 API 可以做到这一点。目前最好的办法是阅读 jquery.couch.js 代码以进行帐户创建,并使用相同的代码或算法来进行帐户修改。
具体来说,您需要更新password_sha 和salt 值来更改密码。要更改用户名,您必须创建一个新文档,然后删除旧文档。只要保持_id 和name 的值同步就可以了。
【讨论】: