LDAP 身份验证超时

Posted

技术标签:

【中文标题】LDAP 身份验证超时【英文标题】:LDAP Authentication Times out 【发布时间】: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 会导致网站崩溃?

【问题讨论】:

【参考方案1】:

该错误不是身份验证问题,而是网络连接问题。 如果您的计算机位于不知道如何解析 LDAP 服务器名称或无法路由到它的网络上,则无法连接到它并对用户进行身份验证。

【讨论】:

以上是关于LDAP 身份验证超时的主要内容,如果未能解决你的问题,请参考以下文章

LDAP JBoss 和 Drupal 身份验证

身份验证是如何建立在 LDAP 上的?

Zeppelin LDAP 身份验证

LDAP 身份验证失败:数据 52e

Spring Security:针对多个 LDAP 服务器和基于 DAO 的身份验证进行身份验证

LDAP 身份验证不适用于 Jenkins