簡體   English   中英

具有節點和續集的多租戶結構

[英]multi tenancy structure with node and sequelize

我正在計划使用nodejs和sequelize(mysql方言)的多租戶應用程序。 我要為每個客戶端提供一個應用程序和多個數據庫。 身份驗證后(使用passport.js),我需要連接到客戶端數據庫。 因此,有一個經典的master數據庫,其中包含客戶端信息和數據庫用戶,主機和pwd,然后成功登錄后,應用程序將連接到特定的客戶端數據庫。 我該怎么做? 我當時在考慮使用會話...也許是一個中間件,它可以為每個請求獲取會話,然后將數據傳遞給序列化配置對象? 誰能和我分享他/她如何做類似的事情? 我陷入了邏輯陷阱! 謝謝

你很親密

當您在主數據庫中查找用戶時,為了驗證用戶名/密碼,您還將查找與用戶特定數據庫的連接字符串。 然后,您可以創建一個簡單的快速中間件功能,以在每個請求開始時打開特定的連接。

您將需要數據庫的用戶名和密碼。 為了獲得最佳的安全性,他們應該是一樣的用戶的用戶名和密碼:如果有人破解你的web應用程序和用戶表,你不想讓他們知道所有的密碼。

但是 ,您提出的不是經典的多租戶。 多租戶正在創建一個數據庫,該數據庫的各個表中都有專欄,提及其所針對的用戶。 然后,一旦通行證告訴您用戶ID,就可以將其放入查詢中(例如SELECT .... WHERE user_id = <<value>> AND ...

您的建議對於幾十個用戶來說可以很好地工作。 但是,如果您獲得成千上萬的用戶,會發生什么? 那將是很多單獨的數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM