Mysql
 sql >> Base de données >  >> RDS >> Mysql

Commutateur de sécurité Spring vers l'authentification Ldap et les autorités de base de données

Spring Security prend déjà en charge LDAP prêt à l'emploi. Il contient en fait un chapitre entier à ce sujet.

Pour utiliser et configurer LDAP, ajoutez le spring-security-ldap dépendance et utilisez ensuite AuthenticationManagerBuilder.ldapAuthentication pour le configurer. Le LdapAuthenticationProviderConfigurer vous permet de configurer les éléments nécessaires.

@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    auth.ldapAuthentication()
      .contextSource()
        .url(...)
        .port(...)
        .managerDn(...)
        .managerPassword(...)
      .and()
        .passwordEncoder(passwordEncoder())
        .userSearchBase(...)        
        .ldapAuthoritiesPopulator(new UserServiceLdapAuthoritiesPopulater(this.userService));      
}

Quelque chose comme ça (cela devrait vous donner au moins une idée de quoi/comment configurer les choses), il y a plus d'options mais vérifiez les javadocs pour cela. Si vous ne pouvez pas utiliser le UserService tel quel pour récupérer les rôles (car seuls les rôles sont dans la base de données) puis implémentez votre propre LdapAuthoritiesPopulator pour ça.