在Spring Boot中,我将身份验证委派给LDAP服务器。当我使用与LDAP服务器连接的相同Wi-Fi时,身份验证过程将顺利进行。它登录经过身份验证的用户,并对未经身份验证的用户抛出错误。但是,使用未连接LDAP服务器的另一个Wi-Fi运行网站会导致该网站无法对用户进行身份验证,并导致超时错误,如下所示:
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会导致网站崩溃?
答案 0 :(得分:0)
该错误不是身份验证问题,而是网络连接问题。 如果您的计算机所在的网络不知道如何解析LDAP服务器的名称或无法路由至该服务器,则无法连接至该服务器并验证用户身份。