LDAP 身份验证超时
LDAP Authentication Times out
在 Spring 引导中,我将身份验证委托给 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 会导致网站崩溃?
该错误不是身份验证问题,而是网络连接问题。
如果您的计算机所在的网络不知道如何解析 LDAP 服务器的名称或无法路由到它,则无法连接到它并验证用户。
在 Spring 引导中,我将身份验证委托给 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 会导致网站崩溃?
该错误不是身份验证问题,而是网络连接问题。 如果您的计算机所在的网络不知道如何解析 LDAP 服务器的名称或无法路由到它,则无法连接到它并验证用户。