CouchApp / CouchDB中的会话和安全性?

时间:2011-03-01 03:46:51

标签: couchdb couchapp

我是CouchApp和CouchDB的新手并且有一些问题。

  1. 如何在我自己的数据库中创建CouchApp会话(不是 _users )?
  2. 我该如何检索该会话?
  3. 如何解析文档中的数据?
  4. 我可以用视图来做,但是当有人调用我的视图网址并获取id时,他可以获得所有数据,如密码(我正在尝试使用自己的数据库存储登录信息)。

    在我的数据库中,我有一个这样的文档:

    {  
       "_id": "...",  
       "_rev": "...",  
       "XDocType": "user",  
       "name": "Administrator",  
       "password": "1234",  
       "username": "admin"
    }
    

    我想用会话进行简单的登录/注册/注销,而不是cookie。

1 个答案:

答案 0 :(得分:11)

使用Couch应用程序会话不太重要,因为整个应用程序在客户端(浏览器)中运行。 CouchDB只执行以下操作:

  • 身份验证(用户可以使用密码连接,或者获取cookie以便稍后识别)
  • 授权(CouchDB将允许或禁止读取或写入数据,具体取决于用户的名称和角色,以及数据库_security对象和validate_doc_update函数。

您可以更改用户帐户的默认数据库(而不是_users)但是您必须始终拥有用户数据库。您可以设置数据库的_security,以便匿名用户无法访问它。 (但新用户无法轻松注册,因此需要权衡利弊。)

Jan有一篇关于CouchDB security的优秀文章。