couchDB / pouchDB / IONIC最佳实践

时间:2018-02-14 14:12:33

标签: ionic-framework couchdb pouchdb

我想用IONIC创建一个应用程序来管理建筑物。用户可以容纳多个建筑物。每栋建筑都有房间。每个房间都有原木。每个用户都是合作的成员。

多年来我一直使用LAMP。现在转向移动设备并制作了一些IONIC应用程序。有2个应用程序,我在移动设备上使用sqlLite作为数据存储区。

但是现在我已经阅读了couchDB和pouchDB,并且非常喜欢这个概念和同步选项。所以现在我正在考虑将其用作我的数据存储区(在移动设备上以及后端)。

现在我有两个主要问题/担忧:

1)身份验证

在我的LAMP情况下,我通常有一个SESSION(包含会话字符串和userID的表)和一个USERS表。 当用户登录时,用户在USERS表中查找,并创建会话字符串并使用userID保存。

现在每次向服务器发出请求(例如更新数据)时,会话字符串也会提供并与SESSION表匹配并检索正确的用户。从那时起,我可以验证帖子是否有效以及数据是否也属于正确的用户。

回到couchDB,我知道couchDB中有一个cookie管理(http://guide.couchdb.org/editions/1/en/security.html)。 所以在这里我可以验证用户是否存在并验证凭据。现在,该应用程序可以使用cookie发送请求。

2)获取/更新正确的数据 在我的LAMP情况下,我总是知道哪些数据属于哪个用户。并且后端总是检查这是否正确。

在我的couchDB中,我想创建数据库,每个文档都是拥有所有数据的用户。 所以现在问题来了。我可以在couchDB中验证用户,无法验证数据(至少据我所知)它属于正确的用户。 我的目标是移动设备将文档同步到couchDB服务器。

3)数据库结构 起初我想为每个用户创建一个数据库。但这不可扩展。用户也是合作的成员。我还需要为每个合作/用户生成报告。 所以现在我想考虑每次合作创建一个数据库。但现在问题是,当用户登录时,我需要知道要连接的数据库以查找用户数据。 现在我想使用1个数据库,每个文档都是用户并保存数据(建筑物/日志)。

有没有人对这种方法有其他建议/资源?

1 个答案:

答案 0 :(得分:-1)

您可以尝试将couchdb与superlogin结合使用:

SuperLogin是使用CouchDB或Cloudant的API和单页应用程序(SPA)的全功能NodeJS / Express用户身份验证解决方案。

github

Tutorial