所以我在 ExpressJS 中编写了一个应用程序后端,它使用 LDAP 对我们的域进行身份验证。我有3个广告组。
- 富
- Foo_bar
- Foo_bert
如何询问 LDAP“任何以 Foo* 开头的组,我是哪些组的成员?” 响应尽可能简单。
使用 javascript ldapjs 语法的奖励积分,但不是必需的。
我以前从未真正使用过 LDAP,我的第一印象是它相当挑剔
所以我在 ExpressJS 中编写了一个应用程序后端,它使用 LDAP 对我们的域进行身份验证。我有3个广告组。
如何询问 LDAP“任何以 Foo* 开头的组,我是哪些组的成员?” 响应尽可能简单。
使用 javascript ldapjs 语法的奖励积分,但不是必需的。
我以前从未真正使用过 LDAP,我的第一印象是它相当挑剔
如何询问 LDAP“任何以 Foo* 开头的组,我是哪些组的成员?” 响应尽可能简单。
通过像通常那样发出 LDAP 查询,如下所示。
例如,我想查找所有具有displayName
of 的记录BUILDING_FOO
,但我也想排除某些记录。所以我的 LDAP 查询看起来像:
(&(displayName=BUILDING_*)(!(cn=ILM_BUILDING_EXAMPLE)))
因此,根据您的要求,假设您的base
DN 是OU=GROUPS,DC=example,DC=com
. 然后我们会说您要查找的组有一个属性,groupName
因此您的 LDAP 查询可能很简单:
(groupName=Foo*)
至于LDAPjs,它看起来像:
// Setup/configuration of LDAPjs is omitted, see official docs.
const options = {
filter: '(groupName=Foo*)',
scope: 'sub'
}
ldapClient.search('OU=GROUPS,DC=example,DC=com', options, (error, result) => {
if (error) {
debug(`Unable to search for groups. (${error.message})`)
process.exit(1)
}
result.on('searchEntry', entry => {
// Do something with the entry
console.log(entry)
})
})