Spring Security ondersteunt LDAP al out-of-the-box. Het heeft eigenlijk een hele hoofdstuk hierover.
Om LDAP te gebruiken en te configureren, voegt u de spring-security-ldap
. toe afhankelijkheid en gebruik vervolgens de AuthenticationManagerBuilder.ldapAuthentication
om het te configureren. De LdapAuthenticationProviderConfigurer
stelt u in staat om de benodigde dingen in te stellen.
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.ldapAuthentication()
.contextSource()
.url(...)
.port(...)
.managerDn(...)
.managerPassword(...)
.and()
.passwordEncoder(passwordEncoder())
.userSearchBase(...)
.ldapAuthoritiesPopulator(new UserServiceLdapAuthoritiesPopulater(this.userService));
}
Zoiets (het zou je op zijn minst een idee moeten geven over wat/hoe je dingen moet configureren) er zijn meer opties, maar controleer daarvoor de javadocs. Als u de UserService
. niet kunt gebruiken zoals het is om de rollen op te halen (omdat alleen de rollen in de database staan) en implementeer vervolgens uw eigen LdapAuthoritiesPopulator
daarvoor.