所以我在ExpressJS中编写应用程序后端,使用LDAP对我们的域进行身份验证。我有3个AD小组。
我如何询问LDAP"任何以Foo *开头的群组,我是哪些群组?"响应尽可能简单。
使用javascript ldapjs语法的加分点,但不是必需的。
我之前从未真正使用过LDAP,而我的第一印象是相当挑剔
答案 0 :(得分:0)
如何询问LDAP“以Foo *开头的任何群组,我是哪些群组?”响应尽可能简单。
按照正常情况发出LDAP查询here。
例如,我想查找displayName
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)
})
})