我需要为使用Ionic 1,PouchDB和CouchDB开发的单页移动应用程序添加多用户功能。在阅读了很多文档后,我对什么是最佳选择感到困惑。针对多用户Ionic/CouchDB应用程序的建议
关于我的应用程序:
它应该能够离线工作,然后与服务器同步时在线(这是为什么我使用PouchDB和CouchDB的,伟大的工作,到目前为止)
它应该让用户使用用户名和密码创建一个帐户,然后将其存储在应用程序中,以便在他启动应用程序时不必再次登录。此帐户将确保他的数据在安全的地方在服务器上同步,以便其他用户无法访问它。
目前没有必要让用户
基于我已阅读我正在考虑以下之间共享的信息:
- 在服务器上,有每个用户一个数据库,在服务器上存储他自己的数据
- ,具有主数据库,存储所有用户的所有数据以及设计文档。这样可以很容易地在一个地方更改设计文档,并将它们复制到每个用户数据库(然后在应用程序的PouchDB数据库中)。主数据库和用户数据库之间的数据同步通过过滤器完成,因此只有属于一个用户的文档(通过某些
userId
字段)才被复制到此用户的数据库中。 - 使用另一个模块/插件( ?SuperLogin nolanlawson/pouchdb认证)来管理从应用程序的用户(用户创建,登录,注销,密码重置,密码丢失的电子邮件通知,...)
我的问题:?
你认为这个架构是否合适,还是你有更好的rec ommend?
你会推荐哪些软件用于用户管理? SuperLogin看起来不错,但需要在单独的HTTP服务器上运行,这使得体系结构更加复杂。它会自动为每个新用户创建一个新的数据库(我不这么认为)? Nolanlawson/pouchdb-authentication仅适用于客户端,但是它与Ionic 1适合吗? SuperLogin中没有很多东西可以开发出来吗?你有没有其他的模块?
非常感谢您的帮助!
非常感谢您的反馈。事实上,我开始玩SuperLogin。我目前有/ auth/register的东西有问题,根据请求的来源(javascript vs postman)不同,它通常不起作用,有时可以工作(即在CouchDB中创建用户)30秒后延迟,并始终以错误代码回答。我必须进行调试并找到让SuperLogin更加详细的方法:-)。关于过滤的同步,我打算在主数据库和每个用户服务器数据库之间使用它。 – bfredo123