我需要爲使用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