0
我有一個後端服務,我想將其用作我的Web應用程序的一個入口點,並根據用戶登錄名動態分配數據庫路徑。 我意識到這不是一個可擴展的解決方案。我打算在測試期間與幾個客戶端(訪問ALPHA數據庫)一起使用它,並設置演示(訪問SAND數據庫)。 我有我寫了一個簡單的測試,看看如果登錄的演示用戶提供以下模塊,所有其它登錄必去的其他資源:如何根據登錄名在Express.js中動態分配數據庫路徑?
config.js
var express = require('express');
var app = express();
module.exports.dbPath = function (login){
console.log('login - ', login);
if (login === '[email protected]'){
return process.env.DB_SAND;
} else {
return process.env.DB_ALPHA;
}
};
我的問題是,我如何管理每個唯一的登錄併爲該會話分配全局可訪問的引用,以將每個用戶會話始終指向正確的數據庫? 我是否過度複雜?如果有一種更好的做法,我會歡迎另一個方向的建議。
這似乎是合理的登錄,但什麼是後續調用的方法嗎?在模塊中創建一個私有對象,爲每次登錄都保留一對k:v對,密鑰是會話令牌,值是數據庫路徑嗎?我想確保我不會無意中造成安全漏洞。 – espressoAndCode
我不明白'req'對象上的k:v對是一個安全漏洞。 (不要在'res'對象上做)。 –