Ich erstelle derzeit eine neue Webanwendung mit Spring Boot und begann mit der Integration von Spring Security für die Authentifizierung. Nachdem ich die Spring Boot-basierte Version LDAP tutorial erfolgreich ausgeführt hatte, wollte ich meine JavaConfig-basierte Konfiguration auf meine Active Directory-Instanz verweisen.PartialResultException bei der Authentifizierung mit Spring Security und JavaConfig
Meine Anwendung verarbeitet jetzt schlechte Anmeldeinformationen wie erwartet, aber gültige Anmeldeinformationen führen jetzt in
javax.naming.PartialResultException: Unprocessed Continuation Reference(s); remaining name ''
Dies ist ein häufiges Problem - es gibt ein numberofplaces wo dieses Problem aufgetreten ist. Die Lösung scheint Context.REFERRAL auf "follow" zu setzen, aber ich kann keine Dokumentation finden, die angibt, wie diese Option mithilfe von JavaConfig festgelegt wird. Ist meine einzige Option hier, um zu einer XML-basierten Konfiguration zurückzukehren? Es sieht so aus, als ob Spring die Entwickler in Richtung JavaConfig treibt, daher möchte ich es vermeiden, die beiden Ansätze zu mischen, wenn möglich.
Das folgende ist meine Sicherheitskonfiguration:
@Configuration
@EnableWebMvcSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/css/**").permitAll().anyRequest()
.fullyAuthenticated().and().formLogin();
}
@Configuration
protected static class AuthenticationConfiguration extends
GlobalAuthenticationConfigurerAdapter {
@Override
public void init(AuthenticationManagerBuilder auth) throws Exception {
auth.ldapAuthentication()
.userSearchBase("")
.userSearchFilter("(&(cn={0}))").contextSource()
.managerDn("<username>")
.managerPassword("<password>")
.url("ldap://<url>");
}
}
}