Всем привет. Есть проблема которую несколько дней пытаюсь решить сам. Таска : AD в docker, авторизация по LDAP. Есть реальный АД, там всё норм, всё авторизуется. Но для тестового стенда нужен АД для стресс тестов и чтобы не ходить в реальный АД. Проблема: Не понимаю как логиниться, на реальном АД подсказали считай вот и получилось. Сравниваю два АД через ApacheDirectoryStudio и сверяю данные и пытаюсь по аналогии и нихрена. Делаю через провайдер @Bean
ActiveDirectoryLdapAuthenticationProvider createActiveDirectoryLdapAuthenticationProvider() {
return new ActiveDirectoryLdapAuthenticationProvider(null,"ldap://127.0.0.1:10389");
} , а ошибка в постмане "[LDAP: error code 34 - Incorrect DN given : admin (0x61 0x64 0x6D 0x69 0x6E ) is invalid]; nested exception is javax.naming.InvalidNameException: [LDAP: error code 34 - Incorrect DN given : admin (0x61 0x64 0x6D 0x69 0x6E ) is invalid]". Домен ставлю null, т.к его вроде и нет в этом АД. Вот так авторизуюсь provider.setSearchFilter(buildSearchFilter());
provider.setConvertSubErrorCodesToExceptions(true);
provider.setUseAuthenticationRequestCredentials(true);
UsernamePasswordAuthenticationToken user = new UsernamePasswordAuthenticationToken(
username, password);
Authentication result = provider.authenticate(user);