2017-05-15 2 views
0
ldapsearch -h myserver.123.com -b 'dc=123,dc=com' -x uid=myid 

Dieser Befehl funktioniert für mich. Bekommt was ich will. Aber ich versuche, diese Funktionalität zu implementieren node.jsLDAPJS Authentifizierung und Suche

Ich versuche dieses Beispiel: Ich denke, dass myserver.123.com keine Authentifizierung benötigt. Ich weiß auch nicht, wie myserver.123.com konfiguriert ist. Was wichtig ist, der obige Befehl funktioniert irgendwie.

var password = ''; 
var username = 'myid'; 

var ldap = require('ldapjs'); 
var tlsOptions = { 
    host: 'myid', 
    port: '389' 
}; 
var client = ldap.createClient({ 
    url: 'myserver.123.com', 
    tlsOptions: tlsOptions 
}); 

client.bind(username, password, function (err) { 
    if (err) { 
     console.log('Error occurred while binding'); 
    } else { 
     var base = 'cn=user,dc=123,dc=com'; 
     var search_options = { 
      scope: 'sub', 
      filter: '(&(objectClass=*)(CN=' + username + '))', 
      attrs: 'memberOf' 
     }; 
     client.search(base, search_options, function (err, res) { 
      if (err) { 
       console.log('Error occurred while ldap search'); 
      } else { 
       res.on('searchEntry', function (entry) { 
        console.log('Entry', JSON.stringify(entry.object)); 
       }); 
       res.on('searchReference', function (referral) { 
        console.log('Referral', referral); 
       }); 
       res.on('error', function (err) { 
        console.log('Error is', err); 
       }); 
       res.on('end', function (result) { 
        console.log('Result is', result); 
       }); 
      } 
     }); 
    } 
}); 

Ich bin neu in dieser Technologie. Und ich weiß wirklich nicht, wie es funktioniert.

und das ist mein Problem: "Fehler beim Binden aufgetreten" Ich weiß nicht, wie man an diesen Server bindet. Ich habe keine Dokumentation. Also, hier ist ein Problem. Ich habe mein Kommando oben und jetzt improvisiere ich.

+0

Ohne einen Fehler es gibt nichts, wir Sie dies tun können, um herauszufinden. Bitte fügen Sie weitere Informationen hinzu. – Qix

+0

'getaddrinfo ENOTFOUND' bedeutet, dass 'myserver.123.com' nicht gefunden werden kann. Stellen Sie sicher, dass es online ist und dass Sie einen _real_ LDAP-Server verwenden. – Qix

+0

Was passiert, wenn Sie "ping myserver.123.com" von Ihrer CLI aus ausgeben? –

Antwort