Я использую этот код для аутентификации ldap с использованием модуля pass-ladpjs. Нет необходимости связывать, поскольку он уже был рассмотрен в модуле. После использования моих учетных данных я не могу войти в систему. После ввода моих учетных данных я возвращаюсь на страницу перенаправления сбоев. Пожалуйста, помогите мне в этом.ldap аутентификация с использованием паспорта ldapjs
var LdapStrategy = require('passport-ldapjs').Strategy;
var opts = {
server: {
url: 'myserver:1111',
},
base: 'dc=domain,dc=com',
search: {
filter: '(sAMAccountName={{username}})',
attributes: ['displayName', 'mail','sAMAccountName','sn'],
scope: 'sub'
},
uidTag: 'cn',
usernameField: 'username',
passwordField: 'password'
};
passport.use(new LdapStrategy(opts, function(profile, done) {
console.log("Ldap Strategy entered !");
var userObj = {};
if (profile) {
console.log("Profile : " + JSON.stringify(profile));
userObj.id = profile.givenName;
return done(null, userObj);
} else {
console.log("User not found");
return done('User not found');
}
}));
Ниже приведен код для маршрутизации
app.post('/signin', passport.authenticate('ldap', {failureRedirect: 'signin'}), function(req, res){
console.log("Login user : " + req.user.id);
res.render('index', {data:{id:req.user.id, hash:req.user.hash, nodePollInterval:req.user.nodePollInterval}});
});