gpt4 book ai didi

javascript - 为什么我无法访问 LDAP 的所有属性?

转载 作者:行者123 更新时间:2023-12-03 03:31:31 26 4
gpt4 key购买 nike

我正在使用 Node.js 6.11.0 和 MongoDB 开发一个 JavaScript Web 服务。我的 Web 服务需要执行 LDAP 查询。

我正在使用 ldapjs 包(版本 1.0.1)。下面是我的 LDAP 模块 JavaScript 文件:

var ldap = require("ldapjs");

function bind(username, password, callback) {
try {
let client = _getClient(global.config.ldap.host);
client.bind(username, password, function (err) {
callback(err, client);
});
} catch (err) {
callback(err);
}
}

function search(client, dn, opts, callback) {

let arr = [];
if (!opts) opts = {};

client.search(dn, opts, function (err, res) {
if (err) {
callback(err);
return;
}

res.on('searchEntry', function (entry) {
arr.push(entry);
});
res.on('error', function (err) {
callback(err);
});
res.on('end', function (result) {
global.logger.log('status: ' + result.status);
callback(undefined, arr);
});
});
}

function _getClient(host) {
return ldap.createClient({
url: host
});
}

exports.bind = bind;
exports.search = search;

我正在使用以下代码进行查询:

let appUser = "utente";
let appPass = "password";

let userDn = global.config.userDn.replace("{uid}", appUser);

ldapUtils.bind(userDn, appPass, function (err, client) {
if (err) {
return;
}

global.logger.info("Bind success...");

var opts = {
scope: "sub"
};

ldapUtils.search(client, global.config.shopsDn, opts, function (err, data) {
if (err) {
global.logger.error(err);
return;
}

global.logger.info("Search success...");
data[3].attributes[0]._vals[0...n]; // Here I cannot view all attributes.

res.send();
});
});

我无法使用相同的身份验证参数查看可以通过 Apache Directory Studio 查看的所有属性。

Apache Directory Studio...

你能帮我吗?

编辑

我指定了属性,但问题仍然存在:

 var opts = {
scope: "sub",
attributes: ["dn", "cn", "customAttribute"]
};

谢谢

最佳答案

虽然如果没有指定属性,它应该返回所有属性,但请尝试将属性添加到您的搜索选项中,例如:

var opts = {
scope: "sub"
attributes: ["dn", "cn", "description", "objectGUID"]
};

关于javascript - 为什么我无法访问 LDAP 的所有属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46077202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com