查询结果未使用 node.js 服务器中的 ldap.js 框架排序
Query results are not sorted using ldap.js framework in node.js server
我试图用我的 node.js 服务器查询 'LDAP server users'。
这是我尝试使用“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"
开头
LDAP 协议明确指出结果顺序未指定。
LDAP 服务器实现可以 return 特定顺序中的条目或属性,但是没有标准。
使用 LDAP Control Extension for Server Side Sorting of Search Results 可以 return 按指定顺序排列条目。
属性结果排序没有“标准”,需要在“客户端”排序
我试图用我的 node.js 服务器查询 'LDAP server users'。 这是我尝试使用“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"
开头LDAP 协议明确指出结果顺序未指定。
LDAP 服务器实现可以 return 特定顺序中的条目或属性,但是没有标准。
使用 LDAP Control Extension for Server Side Sorting of Search Results 可以 return 按指定顺序排列条目。
属性结果排序没有“标准”,需要在“客户端”排序