Я использую активный каталог для аутентификации пользователей, поэтому я подумал, что мне не нужно использовать Passport, и все, что мне нужно будет сделать, это после того, как пароль извлечен, это создать глобальный (?) Логический тип с res. местные жители, чтобы указать, что пользователь был аутентифицирован.
Я пробовал что-то подобное в функции контроллера:
ad.authenticate(username,password, function(err,auth) {
//some of the things I tried unsuccessfully -- should be true after logged in
res.locals.auth = auth
app.locals.auth = auth //app not defined
})
Однако я обнаружил, что когда я вызываю более позднюю функцию, проверяющую, вошел ли пользователь как часть промежуточного программного обеспечения для diff-маршрута, res.locals.auth и app.locals.auth имеют значение false или undefined. Я попытался установить обе переменные в моем файле server.js в начале с приведенным ниже кодом, но это тоже не сработало ...
app.use((req, res, next) => {
app.locals.auth = false;
res.locals.auth = false;
next();
});
Итак, мой вопрос: в каком вар / где я должен сохранять аутентифицированный статус? Или я должен просто использовать паспорт вместо этого, потому что есть некоторая проблема безопасности, о которой я не знал? Какой смысл isMemberOf в примере настройки паспорта?
https://www.npmjs.com/package/passport-activedirectory
Все, что я хочу сделать, это просто проверить учетные данные пользователя и в основном воссоздать req.isAuthenticated в Passport, потому что я не мог понять, как его использовать из-за isMemberOf.