2016-05-10 11 views
1

Ich benutze diesen Code für ldap Authentifizierung mit Pass-ladpjs-Modul.Es gibt keine Notwendigkeit der Bindung, wie es bereits in dem Modul gesorgt wurde. Nachdem ich meine Zugangsdaten benutzt habe, kann ich mich nicht einloggen. Nachdem ich meine Zugangsdaten eingegeben habe, gehe ich zurück zur Fehlerumleitungsseite. Bitte helfen Sie mir dabei.ldap Authentifizierung mit Pass-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'); 
    } 
})); 

Unten finden Sie den Code für das Routing

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}}); 

}); 

Antwort

0

Dies wurde aufgrund der folgenden Zeile geschah nicht in meinem code.It enthalten war die Ablehnung des ldap TLS-Zertifikat früher. process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; Diese Zeile hat es behoben und konnte über den LDAP-Server auf die Anwendung zugreifen.

Verwandte Themen