我正在Spring中使用WebSecurityConfigurerAdapter类中的AuthenticationManagerBuilder连接到LDAP。配置方法如下:
@Override
protected void configure(AuthenticationManagerBuilder builder) throws Exception {
builder
.ldapAuthentication()
.ldapAuthoritiesPopulator(autoLDAP)
.contextSource()
.url(env.getProperty("ldap.address"))
.managerDn(env.getProperty("ldap.manager"))
.managerPassword(env.getProperty("ldap.manager.password"))
.and().userDnPatterns(env.getProperty("ldap"));
}
autoLDAP是一个LdapAuthoritiesPopulator。 这些属性如下:
ldap.address=ldap://W.X.Y.Z:389/dc=whatever,dc=com
ldap.patterns=CN={0},OU=Users,OU=Company,OU=MyCity
ldap.manager=Manager
ldap.manager.password=123456789
如果我保留类似的内容,则该内容适用于“ OU = MyCity”中的用户,但我也想搜索“其他城市”中的用途。所以我想搜索具有这样的属性的子树:
ldap.address=ldap://W.X.Y.Z:389/dc=whatever,dc=com
ldap.patterns=CN={0}
ldap.manager=Manager
ldap.manager.password=123456789
我已经进行了很多搜索,但是找不到使用这些类将范围设置为子树的位置。 感谢您的帮助。