2016-05-10 4 views
1

Я использую этот код для аутентификации 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}}); 

}); 

ответ

0

Это происходит из-за следующей строке не был включен в моей code.It был отказ от TLS LDAP сертификат ранее. process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; Эта строка исправлена ​​и была доступна для доступа к приложению с использованием сервера ldap.

Смежные вопросы