Я создаю приложение Spring Boot, которое аутентифицируется на сервере LDAP. Мой метод настройки выглядит следующим образом. Кажется довольно стандартным, основываясь на примерах, которые я нашел:
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception
{
auth
.ldapAuthentication()
.userSearchBase("ou=Users")
.userSearchFilter("(uid={0})")
.groupSearchBase("ou=IDS")
.contextSource()
.url("ldap://192.168.111.111:389/dc=abc,dc=def")
.and()
.passwordCompare()
.passwordEncoder(new BCryptPasswordEncoder());
Но когда я захожу в свое приложение, я получаю эту ошибку (анонимное связывание запрещено):
ERROR o.s.s.w.a.UsernamePasswordAuthenticationFilter - An internal error occurred while trying to authenticate the user.
...InternalAuthenticationServiceException: [LDAP: error code 48 - anonymous bind disallowed]; nested exception is javax.naming.AuthenticationNotSupportedException: [LDAP: error code 48 - anonymous bind disallowed]
Что делает эту анонимную привязку (или она установлена на стороне сервера LDAP)? И как мне сделать это не анонимным?