Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. function search_ldap(names,i,cb) {
  2. if (!names[i]) return cb();
  3. var name=names[i];
  4. console.log('- processing '+name);
  5. var ldap = new LDAP({
  6. uri: 'ldap://cerema.fr'
  7. , validatecert: false
  8. , connecttimeout: -1
  9. , base: basedn
  10. , attrs: '*'
  11. , filter: '(objectClass=*)'
  12. , scope: LDAP.SUBTREE
  13. , }, function (err) {
  14. // connected and ready
  15. if (err) {
  16. cb("UNABLE_TO_CONNECT_TO_AD");
  17. return;
  18. };
  19. ldap.bind({
  20. binddn: Config.user
  21. , password: Config.password
  22. }, function (err) {
  23. var search_options = {
  24. base: basedn
  25. , scope: LDAP.SUBTREE
  26. , filter: '(|(sAMAccountName='+name+')(sAMAccountName=*'+name+'))'
  27. , attrs: '*'
  28. };
  29. ldap.search(search_options, function (err, data, cookie) {
  30. if (err) {
  31. search_ldap(names,i+1,cb)
  32. return;
  33. };
  34. if (data.length==0) {
  35. search_ldap(names,i+1,cb)
  36. return;
  37. };
  38. data[0].dn = data[0].dn.replace(/\(/g, '\\\\28');
  39. data[0].dn = data[0].dn.replace(/\)/g, '\\\\29');
  40. var dn = data[0].dn;
  41. dn = dn.toLowerCase();
  42. INSERT.push('INSERT INTO oc_ldap_user_mapping VALUES("'+dn+'","'+name+'","'+name+'");');
  43. search_ldap(names,i+1,cb);
  44. });
  45. });
  46. })
  47. };
  48.  
  49. search_ldap(users,0,function() {
  50. fs.writeFileSync('insert.sql',INSERT.join('\n'));
  51. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement