【发布时间】:2019-11-13 15:27:59
【问题描述】:
在 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 会导致网站崩溃?
【问题讨论】:
标签: spring-boot authentication spring-security ldap