Как проверить наличие нескольких базовых ldap dns в Springboot - PullRequest
0 голосов
/ 15 сентября 2018

В настоящее время у меня есть одна база dn, где я создаю пользователей и аутентифицирую свой ldap. Как мне сделать это для нескольких базовых днс, где мне нужно зарегистрировать базовый днс в зависимости от моей роли. Ниже мой текущий код.

ldap.urls= ldap://localhost:10389/
ldap.base.dn= ou=users,dc=example,dc=com
ldap.user.dn.pattern = cn={0}

@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {

    if(Boolean.parseBoolean(ldapEnabled)) {
        auth.ldapAuthentication()
                .userDetailsContextMapper(userDetailsContextMapper())
                .userDnPatterns(ldapUserDnPattern)
                .contextSource()
                .url(ldapUrls+ldapBaseDn);
    }
}

Но я хочу сделать это для нескольких 2 базовых днс. ldap.base.dn= ou=test1,dc=example,dc=com, ldap.base.dn= ou=test2,dc=example,dc=com

1 Ответ

0 голосов
/ 16 сентября 2018

Мне удалось это исправить, изменив способ, которым я беру userDNSPatters varchar.Ниже приведена модифицированная версия

ldap.urls= ldap://localhost:10389/
ldap.base.dn= dc=example,dc=com
ldap.user.dn.pattern.test1 = cn={0},ou=test1
ldap.user.dn.pattern.test2 = cn={0},ou=test2

@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {

    if(Boolean.parseBoolean(ldapEnabled)) {
        auth.ldapAuthentication()
                .userDetailsContextMapper(userDetailsContextMapper())
                .userDnPatterns(ldapUserDnPattern1, ldapUserDnPattern2)
                .contextSource()
                .url(ldapUrls+ldapBaseDn);
    }
}

. Таким образом, она ищет как ou's

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...