couchDB / pouchDB / IONIC最佳实践

hmmo2u0o  于 2023-03-11  发布在  Ionic
关注(0)|答案(1)|浏览(168)

我想用IONIC做一个管理楼栋的app,一个用户可以持有多个楼栋,每个楼栋都有房间,每个房间都有日志,每个用户都是一个合作的成员。
我已经使用LAMP很多年了。现在转向移动的,并制作了一些IONIC应用程序。有两个应用程序我使用SQLite作为移动终端上的数据存储。
但是现在我读了couchDB和pouchDB,并且非常喜欢这个概念和同步选项,所以现在我正在研究将其用作我的数据存储(在移动的和后端)。
现在我有两个主要问题/顾虑:
1.认证
在我的LAMP情况下,我通常有一个SESSION(保存会话字符串和用户ID的表)和一个USERS表。当用户登录时,在USERS表中查找用户,创建会话字符串并与用户ID一起保存。
现在,每次向服务器发出请求(例如更新数据)时,也会提供会话字符串并将其与SESSION表匹配,然后检索正确的用户,从那时起,我就可以验证帖子是否有效,数据是否属于正确的用户。
回到couchDB,我知道couchDB(http://guide.couchdb.org/editions/1/en/security.html)中有一个cookie管理,所以在这里我可以验证用户是否存在并验证凭据,现在应用可以发送带有cookie的请求。
1.获取/更新正确的数据
在我的LAMP情况下,我总是知道哪些数据属于哪个用户。后端总是检查这是否正确。
在我的couchDB中,我想创建一个数据库,每个文档都是一个拥有所有数据的用户。所以现在问题来了。我可以验证couchDB中的用户,但没有办法验证数据(至少据我所知)是否属于正确的用户。我的目标是移动终端将文档同步到couchDB服务器。
1.数据库结构
一开始我想为每个用户创建一个数据库。但是这是不可伸缩的。而且一个用户是一个合作的成员。我还需要为每个合作/用户生成报表。所以现在我想为每个合作创建一个数据库。但是现在的问题是,当一个用户登录时,我需要知道连接哪个数据库来查找用户数据。现在我想使用1个数据库,每个文档都是一个用户,并保存所有数据(建筑物/日志)。
有人对此方法有其他建议/资源吗?

ahy6op9u

ahy6op9u1#

您可以尝试将couchdb与超级登录结合使用:
SuperLogin是一个功能齐全的NodeJS/Express用户身份验证解决方案,适用于使用CouchDB或Cloudant的API和单页应用(SPA)。
github
Tutorial

相关问题