Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Spring security switch para autenticação LDAP e autoridades de banco de dados


O Spring Security já suporta LDAP pronto para uso. Na verdade, ele tem um capítulo inteiro nisto.

Para usar e configurar o LDAP, adicione o spring-security-ldap dependência e em seguida use o AuthenticationManagerBuilder.ldapAuthentication para configurá-lo. O LdapAuthenticationProviderConfigurer permite que você configure as coisas necessárias.
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    auth.ldapAuthentication()
      .contextSource()
        .url(...)
        .port(...)
        .managerDn(...)
        .managerPassword(...)
      .and()
        .passwordEncoder(passwordEncoder())
        .userSearchBase(...)        
        .ldapAuthoritiesPopulator(new UserServiceLdapAuthoritiesPopulater(this.userService));      
}

Algo assim (deve dar-lhe pelo menos uma ideia sobre o que/como configurar as coisas) existem mais opções, mas verifique os javadocs para isso. Se você não puder usar o UserService como é para recuperar as funções (porque apenas as funções estão no banco de dados), implemente seu próprio LdapAuthoritiesPopulator por isso.