Здравствуйте, у меня проблема с созданием простого входа в систему с помощью Ldap. Я скачал проект «Начало работы» с веб-сайта spring.io: Начало работы с LDAP.
Он отлично работает с файлом ldif, но я хочу заменить его работающим сервером ldap. Я пробовал это в течение нескольких дней без прогресса. Я получаю наилучшие результаты с этим фрагментом кода (заменен в WebSecurityConfig в начале проекта)
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().anyRequest().authenticated().and().httpBasic();
}
@Override
protected void configure(AuthenticationManagerBuilder authManagerBuilder) throws Exception {
authManagerBuilder.authenticationProvider(activeDirectoryLdapAuthenticationProvider()).userDetailsService(userDetailsService());
}
@Bean
public AuthenticationManager authenticationManager() {
return new ProviderManager(Arrays.asList(activeDirectoryLdapAuthenticationProvider()));
}
@Bean
public AuthenticationProvider activeDirectoryLdapAuthenticationProvider() {
ActiveDirectoryLdapAuthenticationProvider provider = new ActiveDirectoryLdapAuthenticationProvider(null, "ldap://ip:port/", "ou=GROUP,dc=domain,dc=com");
provider.setConvertSubErrorCodesToExceptions(true);
provider.setUseAuthenticationRequestCredentials(true);
return provider;
}
}
Если я попытаюсь войти в систему с правильным именем пользователя и паролем в формате, вывод консоли пароля имени пользователя: ActiveDirectoryLdapAuthenticationProvider: Ошибка аутентификации Active Directory: Предоставленный пароль недействителен
Если я использую имя пользователя@домен.com и хороший пароль, страница просто перезагружается без вывода на консоль.
Если я использую случайное имя пользователя и пароль консоли: аутентификация Active Directory не удалась: предоставленный пароль недействителен
Кто-нибудь может помочь?