我正在开发移动应用程序(IOS),我已阅读couchDB文档以使用HTTP Api访问它,但
1.我将如何实施用户注册,用户登录,电子邮件验证?就像parse.com正在做的那样。
我的计划是创建一个包含用户的数据库,每个文档都有用户名,密码,名字,姓氏,isemailverified,一些用户偏好以及一些更多的键值。
这是我面临的挑战:
2.如果有人在UserDatabase上查询,并且查询是与当前用户无关的查询,我应该拒绝查询。为了克服这个挑战,我需要使用事后查询验证方法编写服务器端代码。我应该在哪里部署或开始编写此代码?
请反馈我的策略方式以及我需要在哪些方面改进这一目标?
我将使用restful接口与我的后端进行交互。
答案 0 :(得分:5)
CouchDB中的用户管理可以通过特殊的_users
数据库完成。它旨在将登录和最终用户数据保存在一个特殊的数据库中,它已经实现了你需要的一些东西。
Cloudant有一套security features更多适用于“数据库用户”的概念而不是“应用程序用户”。您可以使用它们生成一个或多个API密钥,从而授予对数据的不同级别的访问权限。这适用于在客户端和数据之间放置一个或多个后端。另请参阅:this和this。
您可以选择在Cloudant上使用CouchDB安全功能,但缺少几个重要位。 Cloudant中的_users
数据库与CouchDB 1.1.x兼容。请参阅此here的含义。
由于缺乏对2012/13年发布的功能的支持,无论they say是什么,Cloudant都难以实现双层架构。很难避免在客户端(浏览器,移动应用程序等)与数据库之间建立后端。但如果您想发送电子邮件等,那么这最终是您需要的。
对于这样做的后端,一个Node.js应用程序托管Bluemix是一个很好的选择。另一种选择可能是Azure,US West上托管的相同应用程序(您可以在那里配置Cloudant)。
答案 1 :(得分:1)
我想我必须从couchdb开始查看。 http://guide.couchdb.org/draft/views.html