Java LDAP属性绑定失败
我有一个用于身份验证管理器的具有LDAP属性的bean 当我显式地将属性放入其中时,它确实起作用,但当我开始使用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
.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,如果我需要在其他地方使用它,请也在那里注入它。