升级ldapjs至v3后无法从searchEntry获取objectName
ldapjs v3升级后searchEntry的entry.objectName为空的解决方法
问题根源:ldapjs v3对
SearchEntry对象的结构做了重构,v2版本里的entry.objectName属性已被废弃,现在改用entry.dn字段存储条目DN。修复代码:
直接把原代码中的entry.objectName替换为entry.dn即可:client.search(adSuffix, searchOptions, async (err: any, res: any) => { assert.ifError(err); res.on('searchEntry', async (entry: any) => { // 用entry.dn获取条目DN console.log("entry DN: ", entry.dn); // 如需查看条目属性集合,可打印entry.object console.log("entry attributes: ", entry.object); }); });额外验证:如果对新的对象结构存疑,可以先打印完整entry对象确认字段位置:
console.log("完整entry对象: ", entry);
内容的提问来源于stack exchange,提问作者GisCat
相关产品推荐
相关产品推荐

