Mysql
 sql >> Database >  >> RDS >> Mysql

Passaggio di sicurezza di primavera all'autenticazione Ldap e alle autorità del database

Spring Security supporta già LDAP pronto all'uso. In realtà ha un intero capitolo su questo.

Per utilizzare e configurare LDAP, aggiungi spring-security-ldap dipendenza e il prossimo utilizzo di AuthenticationManagerBuilder.ldapAuthentication per configurarlo. Il LdapAuthenticationProviderConfigurer ti permette di impostare le cose necessarie.

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

Qualcosa del genere (dovrebbe darti almeno un'idea su cosa/come configurare le cose) ci sono più opzioni ma controlla i javadocs per quello. Se non puoi utilizzare UserService così come recuperare i ruoli (perché solo i ruoli sono nel database), quindi implementare il tuo LdapAuthoritiesPopulator per quello.