DefaultLdapAuthoritiesPopulator設置搜索範圍「ONE_LEVEL」,但我需要搜索「SUBSCOPE」以獲取用戶所屬組的列表。在配置中自定義LdapAuthoritiesPopulator
我一直在關注「配置」風格的Spring設置(代碼,而不是XML)。雖然有很多關於如何在XML中配置自定義LdapAuthoritiesPopulator的例子,但我仍然困惑於如何在代碼中完成它。
這是我到目前爲止有:
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.ldapAuthentication()
.contextSource().url("ldap://ldap.company.org/")
.and()
.userSearchBase("o=company.org,c=us")
.userSearchFilter("(uid={0})")
.groupSearchBase("o=company.org,c=us")
.groupSearchFilter("(&(objectClass=groupOfUniqueNames)(uniqueMember={0}))");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.formLogin().and().authorizeRequests()
.antMatchers("/api/**").authenticated()
.anyRequest().permitAll();
}
}
現在缺少的是,我需要可以設置搜索範圍在這個DefaultLdapAuthoritiesPopulator。該類本身公開了一個「setSearchSubtree」方法,但LdapAuthenticationProviderConfigurer沒有提供配置它的方法。
有什麼建議嗎?
您是否找到了解決方案? – Saita