【问题标题】:Configuring Spring LDAP via application.properties通过 application.properties 配置 Spring LDAP
【发布时间】:2019-07-23 18:31:35
【问题描述】:

Spring 似乎在 application.properties 文件中提供了一些预定义的 ldap 属性,例如

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

如何在不创建必须再次定义它们的额外配置的情况下使用这些属性?

【问题讨论】:

    标签: spring spring-boot spring-security spring-ldap spring-security-ldap


    【解决方案1】:

    是的,您需要重新定义这些属性,因为该属性用于创建 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 Bean

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-20
      • 1970-01-01
      • 1970-01-01
      • 2017-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多