У меня странная проблема, которую я могу реплицировать только с определенными пользователями. При входе в систему с использованием activedirectory (https://www.npmjs.com/package/activedirectory) только в Google Chrome, при первом нажатии на кнопку входа в систему res.redirect не будет работать. Если они подождут секунду и нажмут клавишу ввода или снова нажмут, она пройдет и какПока они не закрывают Chrome, они могут входить и выходить, сколько захотят, без каких-либо проблем. Подавляющее большинство моих пользователей могут входить в систему без проблем.
Я отправляю логин сформа, а не AJAX, есть некоторые обещания, что все возвращают правильные значения при отладке, поэтому я знаю, что они не являются частью проблемы. Кто-нибудь сталкивался с этим раньше?
app.post('/login',
function(req, res) {
var username = req.body.username;
var password = req.body.password;
ad.authenticate(username.toLowerCase()+config.adDomain, password, function(err,auth) {
if (err) {
console.log('ERROR: '+JSON.stringify(err));
res.render('login.ejs', {
login: false,
message: true
});
} else {
if(auth) {
if (req.body.remember) {
req.session.cookie.maxAge = 1000 * 60 * 3;
} else {
req.session.cookie.expires = false;
}
req.session.isAuthenticated = true;
req.session.username = username;
let namePromise = ADRequests.getUserFullName(username);
namePromise.then(function(fullName) {
let setUserInfo = Users.checkUserExists(username,fullName);
let seedPTO = PTO.SeedIntialPTOLogin(username);
Promise.all([setUserInfo, seedPTO]).then(values => {
res.redirect('/');
});
});
} else {
res.render('login.ejs', {
login: false,
message: true
});
}
}
});
}