我正在尝试使用Spring Boot中的LDAP对用户进行身份验证。这是我的网络安全配置:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.anyRequest().fullyAuthenticated()
.and()
.formLogin();
}
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.ldapAuthentication()
.userDnPatterns("uid={0},ou=people")
.groupSearchBase("ou=groups")
.contextSource()
.url("ldap://my.ldap.url/dc=mysite,dc=com")
.and()
.passwordCompare()
.passwordEncoder(new LdapShaPasswordEncoder())
.passwordAttribute("userPassword");
}
使用Apache Directory Studio我可以看到密码加密方法是CRYPT-MD5
。我使用LdapShaPasswordEncoder作为密码编码器,因为我不确切知道应该使用哪个编码器。尝试登录时出现java.lang.NullPointerException: null
错误。
我假设我选择了错误的编码器。有人知道我应该使用哪种编码器吗?