我尝试使用 node.js 服务器查询“LDAP服务器用户”。 这是我用“ Ldapjs 框架”
尝试的代码function ldapQuery_Users(){
var opts = {
filter: '(uid=*)',
scope: 'sub'
// attributes: ['dn', 'sn', 'cn', 'phone', 'fax', 'mail']
};
client.search('dc=mirageworks, dc=kr', opts, function(err, res) {
assert.ifError(err);
res.on('searchEntry', function(entry) {
console.log(entry.attributes.toString());
});
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('ldapLogin status: ' + ((result.status == 0) ? "success" : result.status));
});
});
}
结果是这样的。
当我在opts数组中设置属性项时,结果按我设置的顺序排序。 但是没有属性,没有排序的项目。
第一个用户的结果是“type”:“uid”。这些项目似乎按升序排序。 但第二和第三是降序排序。这些是从“type”:“telephoneNumber”
开始的答案 0 :(得分:1)
LDAP协议明确声明结果顺序未指定。
LDAP服务器实现可以返回特定顺序中的条目或属性,但是没有标准。
使用LDAP Control Extension for Server Side Sorting of Search Results可以按指定的顺序返回条目。
没有"标准"对于排序属性结果,它们需要进行排序"客户端"