【问题标题】:creating users in couchDB在 couchDB 中创建用户
【发布时间】:2015-01-17 18:24:22
【问题描述】:

在我提出问题之前,我想说声谢谢,如果这个问题太简单或错误导致堆栈溢出,我也很抱歉,但我真的需要一些帮助。

问题:

我是第一次使用 couchDB。我已经使用 HTML / AngularJS / Javascript 创建了一个注册表单,现在我想做的是用户可以注册然后登录以查看他们的个人信息(即 姓名,电子邮件,密码)没有人可以看到该信息,除了帐户所属的人。

如何在 couchDB 中创建它。如何在 couchDB 中创建/注册用户以及 couchDB 中已经内置的“_users”数据库的用途是什么,我创建用户的“_users”数据库是什么?

如果我提供了一些错误的信息,或者这不是在这里提出问题的正确方式,我再次道歉,但我需要一些帮助。所以请尝试回答。

如果您能提供一些有用的基本示例代码。

谢谢。

【问题讨论】:

    标签: javascript couchdb


    【解决方案1】:

    couchDB 中已经内置的“_users”数据库的用途是什么?

    couchdb 中的_users 数据库用于存储将管理不同couchdb 数据库的用户的私人信息。 _users 数据库中的任何用户都可以在数据库的_security 文档中指定为成员或管理员。

    对于每个用户,您都可以从 couchdb 请求 session。 couchdb 将通过向您发送回一个 cookie 来响应。您可以在自己的应用程序中使用该 cookie。

    例如,这是 couchdb 在您进行身份验证时发回的响应:-

    HTTP/1.1 200 OK
    Cache-Control: must-revalidate
    Content-Length: 43
    Content-Type: application/json
    Date: Mon, 03 Dec 2012 01:23:14 GMT
    Server: CouchDB (Erlang/OTP)
    Set-Cookie: AuthSession=cm9vdDo1MEJCRkYwMjq0LO0ylOIwShrgt8y-UkhI-c6BGw; Version=1; Path=/; HttpOnly
    

    注意设置的 cookie 标头中的路径。 / 表示 cookie 在 couchdb url 的根目录中是“可操作的”(默认为 http://localhost:5984/)。所以 cookie 将在

    中工作

    http://localhost:5984/http://localhost:5984/_somethinghttp://localhost:5984/_something/_else

    但是,如果您的应用程序托管在 http://localhost:3125/ 中,则此 cookie 将不起作用。因此,您需要使用中间件来提取此 cookie 并将其从您自己的应用程序中发送,以便它对您的路径有效或在 couchdb 中托管您的应用程序。

    所以回答你的问题

    1. 将用户信息存储在 couchdb _users 数据库中。
    2. 查询会话端点以生成 cookie。
    3. 通过从您自己的应用程序发送设置的 cookie 标头,在您的应用程序中重用该 cookie。

    【讨论】:

    • 非常感谢您的回复。只是有几个后续问题。我读到有两种类型的身份验证:1)基本 2)cookie。你认为哪一个是最好的方式?此外,当我在我的网站/应用程序中注册新用户时,我是否将用户保存在 _users 数据库中?还是将它们保存在我不同数据库中的 JSON 文档中?再次感谢您。
    • 没问题 :) 回答您的问题 1) 基本身份验证仅在您使用中间件时才有用,因为凭据是公开的。对于您的用例,cookie 身份验证更合适。 2) 是的,从 couchdb 生成 cookie 的唯一方法是让用户在 _users db 中。如果您将它们保存为不同数据库中的文档,您将无法使用 couchdb 的内置 cookie 身份验证。但是您可以将custom fields 存储在用户文档中。
    • 再次感谢您。你让这很容易理解。我可以再要求一件事吗?很抱歉问了这么多问题,但我是新手,只需要我能得到的所有帮助。如果可能的话,您能否提供一个非常简单的 javascript 示例,将用户添加到 _users db 并创建 cookie 身份验证。如果问得太多了,我很抱歉。再次感谢您
    • 查看couchjs 文件。从客户端对 couchdb 的每次操作。它包括添加文档、请求会话和删除会话的功能。添加用户与添加简单文档没有什么不同。这应该可以帮助您入门。
    猜你喜欢
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-05
    • 2015-07-13
    • 1970-01-01
    相关资源
    最近更新 更多