При загрузке Spring я делегирую аутентификацию серверу LDAP. Когда я использую тот же Wi-Fi, к которому подключен сервер LDAP, процесс аутентификации проходит гладко. Он регистрирует аутентифицированных пользователей и выдает ошибку для неаутентифицированных. Однако запуск веб-сайта с использованием другого Wi-Fi, к которому сервер LDAP не подключен, приводит к тому, что веб-сайт не может аутентифицировать пользователя и приводит к ошибке тайм-аута, которая проявляется следующим образом:
org.springframework.security.authentication.InternalAuthenticationServiceException:ldap.x.ac.uk:636; nested exception is javax.naming.CommunicationException: ldap.x.ac.uk:636 [Root exception is java.net.ConnectException: Connection timed out (Connection timed out)]
Моя конфигурация LDAP выглядит следующим образом:
public class AuthenticationConfig extends WebSecurityConfigurerAdapter {
@Override
public void configure(AuthenticationManagerBuilder auth) {
try {
auth
.ldapAuthentication()
.userSearchFilter("(uid = {0})")
.userSearchBase("ou=uan,o=ac,c=uk")
.contextSource()
.url("ldaps://ldap.x.ac.uk");
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Мой вопрос: почему смена Wi-Fi приводит к сбою сайта?




Ошибка связана не с аутентификацией, а с сетевым подключением. Если ваш компьютер находится в сети, которая не знает, как разрешить имя сервера LDAP или не может маршрутизировать к нему, то нет возможности подключиться к нему и аутентифицировать пользователей.