sql >> Base de Datos >  >> RDS >> Mysql

Cambio de seguridad de Spring a autenticación Ldap y autoridades de base de datos

Spring Security ya es compatible con LDAP listo para usar. De hecho, tiene un capítulo completo en esto.

Para usar y configurar LDAP, agregue spring-security-ldap dependencia y luego use AuthenticationManagerBuilder.ldapAuthentication para configurarlo. LdapAuthenticationProviderConfigurer le permite configurar las cosas necesarias.

@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 así (debería darle al menos una idea sobre qué/cómo configurar las cosas) hay más opciones, pero verifique los javadocs para eso. Si no puede utilizar el UserService como es para recuperar los roles (porque solo los roles están en la base de datos) luego implemente su propio LdapAuthoritiesPopulator por eso.