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

このコマンドは私の役に立つものです。私が望むものを得る。しかし、私はこの機能をnode.jsに実装しようとします。LDAPJS認証と検索

私はこの例を試しています。私はmyserver.123.comが認証を必要としないと思います。 myserver.123.comの設定方法もわかりません。重要なことは、上記のコマンドが何とか働くことです。

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

この技術では新しいです。私は本当にそれがどのように機能するか分かりません。

これは私の問題です。「バインド中にエラーが発生しました」 このサーバーにバインドする方法がわかりません。私はどんなドキュメントも持っていません。だからええ、ここに問題があります。私は上記の私の命令を持っており、今すぐ即興する。ここ

+0

エラーがなければ、我々はあなたがこれを理解を助けるためにできることは何もありません。詳細を追加してください。 – Qix

+0

'getaddrinfo ENOTFOUND'は' myserver.123.com'が見つからないことを意味します。オンラインで、_real_ LDAPサーバーを使用していることを確認してください。 – Qix

+0

CLIから 'ping myserver.123.com'を発行するとどうなりますか? –

答えて

関連する問題