无法使用具有 Spring 安全性的 LDAP 用户搜索查询对 LDAP 服务器的用户进行身份验证

Unable to Authenticate a User with an LDAP Server using LDAP User Search Query with Spring Security

通过 Apache Directory Studio 检索到的 LDAP 服务器层次结构:

根 DSE:

DC=公司,DC=com

OU=办公室

OU=地区办事处

OU=Region1 办公室

OU=用户

CN=Jayesh Mulwani

WebSecurity 作为以下 class 的一部分启用:

public class LDAPSecurityConfig extends WebSecurityConfigurerAdapter{
    protected void configure(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception {                  
            authenticationManagerBuilder.ldapAuthentication()
            .contextSource().url("ldap://server-url/CN=auth_support,OU=Misc,DC=company,DC=com")
            .managerDn("username").managerPassword("password")
            .and()
            .userSearchBase("OU=Offices,DC=company,DC=com")
            .userSearchFilter("(&(objectClass=user)(cn={0}))");
    }
}

在 tomcat 上设置应用程序后,我输入用户名及其密码,但身份验证失败并且没有提示错误。

有人可以帮助我解决这个问题或说明我是否遗漏了什么吗?

我已经通过添加以下两个条件解决了问题

.groupSearchFilter("(&(objectClass=group)(AccountName={0}))")
.groupSearchBase("CN=DEPT_All_Employees,OU=DepartmentSecurityGroups,OU=Resources,DC=company,DC=com")

我参考了这个例子来解决这个问题http://www.jcombat.com/spring/spring-security-ldap-authentication