Не удается установить новое значение сеанса в функции с проверкой подлинности в узле js? - PullRequest
0 голосов
/ 27 марта 2019

Это моя ценность, получаемая из базы данных

var settingValue = function (req) {
    return new Promise(async function (resolve, reject) {
        var settingsObj = require('./utills/settings.obj'); /* get value from datatbase */
        var settings = new settingsObj(conn);
        var settings_data = await settings.getSettings();
        resolve(settings_data);
    });
};

Это моя аутентифицированная функция, в которой я устанавливаю новое значение сеанса

var set_session;
var ensureAuthenticated = function (req, res, next) {
    set_session = req.session;
    if (req.isAuthenticated()) {
        if (set_session.passport.user.db_name) {
            conn.changeUser({ database: set_session.passport.user.db_name }, async function (err) {
                if (!err) {
                    var setSettingsVal = {};
                    set_session.main_db = config.mysql.database;
                    set_session.isLoggedIn = true;

                    setSettingsVal = await settingValue();
                    set_session.settings = setSettingsVal;

                    console.log('Logged in to: ' + set_session.passport.user.db_name);
                }
            });
            return next();
        } else {
            res.redirect('/login.html');
        }
    }
    res.redirect('/login.html');
};

Я установил одно свойство под названием 'settings' в req.session, где я назначу объект, полученный из базы данных. Когда я console.log (req.session.settings) я не получаю никакого значения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...