Здравствуйте, у меня возникла проблема с созданием простого входа с Ldap. Я загрузил начатый проект с сайта spring.io: link Он отлично работает с файлом ldif, но я хочу заменить его на работающий ldap-сервер. Я пробовал его в течение нескольких дней без каких-либо успехов. Я получаю лучшие результаты с этим куском кода (заменен в WebSecurityConfig из Getting Started проекта)Spring boot ldap security
@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 не удалось выполнить аутентификацию: пароль недействителен
Если я использую «[email protected]» и хороший пароль, страница просто перезагружается без вывода на консоль.
Если я использую случайное имя пользователя и пароль: консоль аутентификации каталогов не Активный: Поставлено пароль был недействителен
Может кто-то помочь?
Как вы использовали «нулевой» для домена в конструкторе ActiveDirectoryLdapAuthenticationProvider, вы должны использовать «UserPrincipalName» ([email protected]) для аутентификации Вы можете включить ведение журнала, чтобы выяснить, почему это не работает или если вы не используете расширенную работу LDAPS или StartTLS, трассировка сети точно сообщит, если запрос LDAP BIND преуспел –