Настройка Spring LDAP через application.properties - PullRequest
0 голосов
/ 17 апреля 2019

Spring, кажется, имеет некоторые предопределенные свойства ldap, которые доступны в файле application.properties , например

spring.ldap.urls=
spring.ldap.base=
spring.ldap.username
spring.ldap.password=

Однако кажется, что вам все еще нужно создать защитуКонфигурация, где вы должны определить эти свойства в коде, так как Spring жалуется, что не может найти ни одного AuthenticationProvider

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.ldapAuthentication()
                .userSearchBase("ou=people")
                .userSearchFilter("(uid={0})")
                .groupSearchBase("ou=groups")
                .groupSearchFilter("(member={0})")
                .contextSource().root("dc=baeldung,dc=com")
                .ldif("classpath:users.ldif");
    }

}

Источник https://www.baeldung.com/spring-security-ldap

Как вы можете использовать этисвойства без создания дополнительной конфигурации, где вы должны определить их снова?

1 Ответ

0 голосов
/ 23 июля 2019

Да, вам нужно переопределить эти свойства, потому что это свойство предназначено для создания DefaultSpringSecurityContextSource Однако вы можете также прочитать эти свойства из application.properties вместо перезаписи

   @Value("${spring.ldap.urls}")
    private String ldapUrls;

    @Value("${spring.ldap.base}")
    private String ldapBase;

    @Value("${spring.ldap.userDnPatterns}")
    private String userDnPatterns;

    @Value("${spring.ldap.groupSearchBase:ou=groups}")
    private String groupSearchBase;


 @Override
        protected void configure(AuthenticationManagerBuilder auth) throws Exception {
            auth.ldapAuthentication()
                    .userSearchBase(ldapBase)
                    .userSearchFilter("(uid={0})")
                    .groupSearchBase(groupSearchBase)    
                    .userDnPatterns(userDnPatterns)

        }

Помимо этих мер безопасностиSpring также создает компонент LdapTemplate из этих свойств

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