我正在尝试使用 ldapjs 节点库来搜索组内的用户,但这似乎不起作用。这是 ldap 属性:
{
"dn": "CN=TOM H,OU=GLO_Users,OU=GLOBAL,OU=SITES,OU=Engineering,DC=example,DC=com",
"controls": [
],
"sAMAccountName": "toma",
"objectClass": [
"top",
"person",
"organizationalPerson",
"user"
],
"cn": "TOM H",
"sn": "H",
"memberOf": [
"CN=g.some_group,OU=Distribution Groups,OU=Groups,OU=Corp,OU=Common,DC=example,DC=com",
]
....
....
我正在尝试搜索 sAMAccountName 为“toma”并且是 memberOf 组“g.some_group”的用户。
为此,我编写了此查询:
const opts = {
filter: '(&(sAMAccountName=toma)(memberOf=CN=g.some_group))',
scope: 'sub'
};
const client = ldap.createClient(url: 'some_ldap_server');
client.bind(...);
clinet.search("DC=example,DC=com", opts, (err, res) => {
res.on('serchEntry', (entry: any) => {
console.log("entry " + JSON.stringify(entry.object));
})
res.on('end', function(result: any) {
console.log('status: ' + result);
});
});
这不会产生任何结果。这只是打印:
status: {"messageID":2,"protocolOp":"LDAPResult","status":0,"matchedDN":"","errorMessage":"","referrals":[],"controls":[]}
我的查询似乎有一些错误:
const opts = {
filter: '(&(sAMAccountName=toma)(memberOf=CN=g.some_group))',
scope: 'sub'
};
任何人都可以在这里帮助我。