Spring Security с LDAP - предварительная обработка имени пользователя

Я использую Spring Security с LDAP. В соответствии с политикой компании должна быть возможность входа в систему с четырьмя различными вариантами имени пользователя, каждый из которых содержит идентификатор пользователя: xxID, ID, [email protected] и [email protected].

Я аутентифицирую как: .userSearchFilter ("(& (objectClass = person) (uid = {0}))") где uid должен быть xxID. Можно ли предварительно обработать имя пользователя, чтобы все варианты были возможны (при использовании ldapauthentication ())?

Вся моя конфигурация аутентификации:

public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    auth
            .ldapAuthentication()
            .ldapAuthoritiesPopulator((userData, username) -> {
                ..get authorities from database
            })
            .userSearchFilter("(&(objectClass=person)(uid = {0}))")
            .contextSource().url(env.getProperty("spring.ldap.urls", String[].class)[0]);
}

Лучший

Насколько мне известно, я могу представить только два варианта имени пользователя: - sAMAccountName и UPN.

Am_I_Helpful 30.03.2018 20:36

@Am_I_Helpful Я бы использовал uid во всех случаях, просто получая uid из введенного имени пользователя (uid = {0}) - вопрос в том, как это сделать :)

Anders 30.03.2018 23:30
0
2
33
0

Другие вопросы по теме