【问题标题】:Change password in couchdb 1.2 via the api?通过 api 在 couchdb 1.2 中更改密码?
【发布时间】:2012-04-20 21:19:23
【问题描述】:

有谁知道我是否可以在 couchdb 1.2 中更改密码?为了创建一个用户,我有一个表单,它获取用户的信息,然后像这样发布到 _users 数据库(下面的 url 中的“用户”被代理):

// Create a user
var userObj = {
     _id: "org.couchdb.user:test",
     type: "user",
     name: "test",
     roles: ["user"],
     emailAddress: "test@testy.com",
     firstName: "Test",
     lastName: "Test",
     password: "password"
};
$.ajax({
    url: "/users/org.couchdb.user:test",
    type: "PUT",
    dataType: "json",
    contentType:"application/json",
    data: JSON.stringify(userObj)
});

Couchdb 1.2 为我生成密码哈希和盐并存储用户。它工作得很好。要更新密码,我尝试检索用户,删除 password_sha 和 salt 字段,添加密码字段,然后重新发布文档。我希望 Couch 能为我重新计算 password_sha 和 salt 字段并更新文档,但事实并非如此。 password_sha 和 salt 字段未更新。

// Update a user
$.get("/users/org.couchdb.user:test")
.done(function(userDoc){
  delete userDoc.password_sha;
  delete userDoc.salt
  userDoc.password = "test";
  $.ajax({
    url: "/users/org.couchdb.user:test",
    type: "PUT",
    dataType: "json",
    contentType:"application/json",
    data: userDoc
  });
});

我怀疑沙发只会在创建文档时生成 password_sha 和 salt 字段。如果是这种情况,我是否应该只生成自己的 password_sha 和 salt 字段并将它们发布在更新的文档中?我在这里遗漏了什么吗?

谢谢!

【问题讨论】:

  • 没关系。我试图更新一个 JSON 字符串……doh!只需要解析userDoc,添加密码,然后重新提交即可。
  • 太棒了!请您用该评论回答您自己的问题(“只需添加密码值并重新提交”)并将答案标记为正确。这对于其他人在未来寻找这个可能非常有用。谢谢!
  • @Troy 请发表您的评论作为您自己问题的答案,以便您可以接受它并将其从未回答的问题列表中删除。谢谢。

标签: couchdb


【解决方案1】:

没关系。我试图更新一个 JSON 字符串……doh!只需要解析userDoc,添加密码,然后重新提交即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 2018-01-07
    • 1970-01-01
    • 2018-08-06
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多