Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java LDAP属性绑定失败_Java_Spring_Spring Security_Ldap - Fatal编程技术网

Java LDAP属性绑定失败

Java LDAP属性绑定失败,java,spring,spring-security,ldap,Java,Spring,Spring Security,Ldap,我有一个用于身份验证管理器的具有LDAP属性的bean 当我显式地将属性放入其中时,它确实起作用,但当我开始使用.properties文件时,它给了我一个错误 解析DN失败;嵌套异常是 org.springframework.ldap.core.TokenMgrError:第1行出现词法错误, 第1栏。遇到:“$”(36),之后: 我做错了什么 @EnableWebSecurity public class SecurityConfig { @Autowired public

我有一个用于身份验证管理器的具有LDAP属性的bean

当我显式地将属性放入其中时,它确实起作用,但当我开始使用
.properties
文件时,它给了我一个错误

解析DN失败;嵌套异常是 org.springframework.ldap.core.TokenMgrError:第1行出现词法错误, 第1栏。遇到:“$”(36),之后:

我做错了什么

@EnableWebSecurity
public class SecurityConfig {

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth.ldapAuthentication()
            .userSearchFilter("${ldap.user_search_filter}")
            .userSearchBase("${ldap.user_search_base}")
            .groupSearchFilter("${ldap.group_search_filter}")
            .groupSearchBase("${ldap.group_search_base}")
            .groupRoleAttribute("${ldap.group_role_attribute}")
            .rolePrefix("${ldap.role_prefix}")
            .contextSource().ldif("${ldap.ldif_path}")
            .root("${ldap.root}");
    }
    .....
}

因为这不是它应该工作的方式。在配置类中引入变量,并使用
@Value
进行注释,或注入
环境
并使用
env.getProperty()
@M.Deinum,当我尝试使用
private static@Value(${ldap.user\u search\u filter}”)字符串userSearchFilter来执行此操作时上面说java.lang.IllegalArgumentException:必须提供LdapUserSearch或DN模式(或两者都提供),因为该字段不应该是静态的。@M.Deinum,如果我需要在其他地方使用它,请也在那里注入它。