LDAP, список групп, в которых я участвую подстановочный знак?

Поэтому я пишу бэкэнд приложения в ExpressJS, который аутентифицируется на нашем домене с использованием LDAP. У меня есть 3 группы AD.

  • Foo
  • foo_bar
  • Foo_bert

Как спросить LDAP: "Какие группы начинаются с Foo*, в какие группы я состою?" ответ будет максимально простым.

Бонусные баллы за использование синтаксиса javascript ldapjs, но не обязательны.

Я никогда не использовал LDAP раньше, и мое первое впечатление, что это довольно привередливый

1 ответ

Как спросить LDAP: "Какие группы начинаются с Foo*, в какие группы я состою?" ответ будет максимально простым.

Отправляя запрос LDAP, как обычно, как показано здесь.

Например, я хочу найти все записи, которые имеют 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)
    })
})
Другие вопросы по тегам