无法使用带有Spring Security的LDAP用户搜索查询使用LDAP服务器对用户进行身份验证

时间:2018-05-24 12:04:18

标签: spring spring-security ldap ldap-query

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

Root DSE:

DC = company,DC = com

OU =办事处

OU =地区办事处

OU = Region1 Office

OU =用户

CN = Jayesh Mulwani

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

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上设置应用程序后,我输入用户名及其密码,但验证失败并且没有提示错误。

有人可以帮我解决这个问题,或者说明我在这里遗漏了什么吗?

1 个答案:

答案 0 :(得分:1)

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

.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