1
我正在爲我們的客戶羣構建一個應用程序,他們都有預先存在的數據庫。企業所有者將能夠通過這個應用程序閱讀和報告他們的本地商業數據庫,所有數據都將針對他們的業務。帶有數百個數據庫連接的MVC應用程序
我打算做好以下工作:
- 創建「主」帳戶數據庫來存儲所有客戶信息佔
- 上傳現有數據庫到我們的服務器解決方案
- 在登錄時,檢查對帳戶數據庫和加載適當的數據庫持續通過客戶端會話
我的問題是,是最好把每個數據連接作爲一個新的條目在web.config和只是引用connstrings整個應用程序關閉會話變量即:
- 客戶端A登錄 - >使用數據庫A - >存儲DB_A_Connstring爲會話VAR
- 客戶端B登錄 - >使用數據庫B - >商店DB_B_Connstring爲session var
或者還有更好的方法嗎?感謝您的意見。
編輯:我會注意到,每個數據庫將有一個GUID,我會不斷驗證連接對帳戶憑據,所以我不太在意這種方法的安全性,只是它的實現作爲一個可行的選擇。
是的,理想情況下,我們希望自動化整個安裝過程...並且我們將每天/每週添加新的數據庫,因此將db數據存儲在帳戶數據庫中可能是更智能的方法 –
一個簡短的問題...如果我要將所有客戶端數據庫信息存儲在帳戶數據庫中,是否需要將所有數據庫連接信息存儲在該用戶的會話變量中,可能在連接時暴露憑據及其所有數據? –
沒有理由將其存儲在會話變量中。默認的線程池將爲您緩存所有連接,並根據conn字符串匹配它們。因此,只需正常創建/處理連接(使用從主數據庫加載的字符串),這樣來自同一公司的用戶將從再循環連接到同一個數據庫中受益。 –