Результаты запроса не сортируются с использованием инфраструктуры ldap.js на сервере node.js

Я попытался запросить "пользователей сервера LDAP" с моего сервера node.js. Вот мои коды, что я пытался с 'Ldapjs Framework'

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"

1 ответ

Решение

Протокол LDAP определенно заявляет, что порядок результатов не указан.

Реализации сервера LDAP МОГУТ возвращать записи или атрибуты в определенном порядке, однако стандарта не существует.

Использование расширения управления LDAP для серверной сортировки результатов поиска позволяет возвращать записи в указанном порядке.

Не существует "Стандарт" для сортировки результатов атрибутов, и они должны быть отсортированы "на стороне клиента"

Другие вопросы по тегам