【问题标题】:couchDB / pouchDB / IONIC best practicecouchDB / pouchDB / IONIC 最佳实践
【发布时间】:2018-02-14 14:12:33
【问题描述】:

我想用 IONIC 创建一个应用来管理建筑物。一个用户可以持有多个建筑物。每栋楼都有房间。每个房间都有日志。每个用户都是合作的成员。

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

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

现在我有 2 个主要问题/疑虑:

1) 身份验证

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

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

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

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

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

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

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

【问题讨论】:

  • 你一次问了太多问题。每个帖子一个问题!另外,我实际上没有看到问题。您提到了应用的 3 个不同方面,但没有提出任何实际问题。
  • 嗯 .. 实际上 kabus 已经给了我很多很好的信息,涵盖了我的 3 个问题中的大部分。谢谢
  • 那我为什么要投反对票,哈哈:P
  • 嗯?大声笑...已经按了两次哈哈哈..

标签: ionic-framework couchdb pouchdb


【解决方案1】:

你可以试试 couchdb 和 superlogin 的结合:

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

github

Tutorial

【讨论】:

  • hmm 所以 SuperLogin 将有助于创建 couchDB 用户并创建每个自己的私有数据库。然后 SuperLogin 会执行逻辑来找到正确的数据库。
猜你喜欢
  • 2017-07-17
  • 2023-04-08
  • 2016-11-26
  • 1970-01-01
  • 1970-01-01
  • 2016-12-31
  • 1970-01-01
  • 2018-03-15
  • 1970-01-01
相关资源
最近更新 更多