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

9
我是一名新手,对CouchApp和CouchDB有些疑问。
  1. 如何从我的自定义数据库(而不是 _users)中创建CouchApp会话?
  2. 我该如何检索该会话?
  3. 如何从文档中解析数据?

我可以使用视图来完成这个问题,但是当有人调用我的视图URL并获取ID时,他可以获取所有数据,包括密码(我正在尝试使用自己的数据库存储登录信息)。

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

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

我想制作一个简单的登录/注册/注销系统,使用会话而不是cookie。
1个回答

12

在Couch应用中,会话相对不那么重要,因为整个应用程序在客户端(浏览器)中运行。CouchDB只做以下几件事:

  • 身份验证(用户可以使用密码进行连接,或获取一个cookie以供以后识别)
  • 授权(根据用户的名称和角色、数据库_security对象和validate_doc_update函数,CouchDB将允许或拒绝读取或写入数据。

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

Jan在CouchDB安全性方面有一篇出色的文章。


那么,一个网站至少应该有两个数据库,对吧?谢谢提供链接。 - Egy Mohammad Erdin
2
是的,即使每个用户有一个数据库(加上一个用于公共内容的数据库),这也是一个非常合理的Couch应用。多个数据库也没问题。 - JasonSmith
@JasonSmith -- CouchDB能够支持数百万个用户的数百万个数据库吗? - rbp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接