2017-08-01 7 views
0

node.jsサーバーで「LDAPサーバーユーザー」に照会しようとしました。 は、ここで私は「Ldapjsフレームワーク」node.jsサーバーのldap.jsフレームワークを使用して照会結果がソートされない

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)); 
    }); 
}); 
} 

で試してみました何私のコードされ、その結果、このようなものです。

enter image description here

私はoptsの配列内の属性項目を設定すると、結果は私が設定したものとしてソートされています。 しかし属性がなく、ソートされたアイテムはありません。

最初のユーザーの結果は"type": "uid"です。これらの項目は昇順ソートされているようです。 しかし、2番目と3番目はソートされています。 "type": "telephoneNumber"から始まります。

答えて

1

LDAPプロトコルでは、結果の順序は特に指定されていません。

実装LDAPサーバは、特定の順序でエントリまたは属性を返すことができますが、標準はありません。

LDAP Control Extension for Server Side Sorting of Search Resultsを使用すると、指定した順序でエントリを返すことができます。

属性結果をソートするための「標準」はありません。クライアント側でソートする必要があります

関連する問題