Я хочу, чтобы каждый пользователь заходил в приложение, входил в БД со своим логином и паролем. Я попробовал что-то вроде этого, создав пул соединений в модуле базы данных промежуточного программного обеспечения:
var config = {
server: "",
database:"",
options: {
"enableArithAbort": true
},
authentication: {
type: "azure-active-directory-password",
options: {
userName: name, // email
password: password // password
}
},
pool: {
max: 50,
min: 0,
idleTimeoutMillis: 1800000
}
module.exports = {
getPool: function (req, res, next) {
if (pool) return pool; // if it is already there, grab it here
name = req.session.email
password = req.session.password
pool = new mssql.ConnectionPool(config);
return pool;
}
}
И в модуле входа в систему:
router.post("/", (req, res) => {
req.session.email = req.body.email;
req.session.password = req.body.password;
pool.connect(function(err){
if (err) {
throw err
} else {
console.log("connect!")
}
})
})
Проблема в том, что я не могу запустить сервер:
..middleware\db.js:35
name = req.session.email
^
TypeError: Cannot read property 'session' of undefined
Сейчас я создаю пул соединений на каждом маршруте, и мне не нужно передавать какие-либо данные между модулями, но я считаю, что это плохо.