NodeJS在JSON中获取LDAP用户



我想知道是否有办法使用nodejs以JSON格式从LDAP(openldap(获取所有用户。

我在npm库和GitHub中搜索过,出于某种原因,我没有找到任何类似的东西。

提前感谢

两个组件——类似于http://ldapjs.org/client.htmlLDAP客户端获取用户信息,然后使用JSON.stringify构建JSON格式的输出。在真实世界的示例中,您可能希望使用LDAPS或STARTTLS。可能还想限制返回的属性(在opts变量中(,而不是返回每个帐户的所有内容。根据目录的大小,您可能还需要使用分页搜索。但这给了你一个起点:

var ldap = require('ldapjs');
var client = ldap.createClient({ url: 'ldap://directoryserver.example.com:389'});
client.bind('SystemID@example.com', 'Syst3m1DP@s5w0rd', function(err) {  assert.ifError(err);});
var iObjectsFound = 0;
console.log("[");
var opts = {  filter: '(&(samaccountname=*))',  scope: 'sub',  attributes: ['*']};
client.search('ou=ResourceUsers,dc=example,dc=com', opts, function(err, res) {
assert.ifError(err);
res.on('searchEntry', function(entry) {
if(iObjectsFound > 0){  console.log(", ");  }
iObjectsFound = iObjectsFound +1;
console.log( JSON.stringify(entry.object) );
});
res.on('searchReference', function(referral) {
console.log('referral: ' + referral.uris.join());
});
res.on('error', function(err) {
console.error('error: ' + err.message);
});
res.on('end', function(result) {
console.log('status: ' + result.status);
});
});
console.log("]");

最新更新