Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Spring Security Switch zu Ldap-Authentifizierung und Datenbankautoritäten

Spring Security unterstützt LDAP bereits out-of-the-box. Es hat tatsächlich ein ganzes Kapitel dazu.

Um LDAP zu verwenden und zu konfigurieren, fügen Sie spring-security-ldap hinzu Abhängigkeit und verwenden Sie als nächstes den AuthenticationManagerBuilder.ldapAuthentication um es zu konfigurieren. Der LdapAuthenticationProviderConfigurer ermöglicht es Ihnen, die erforderlichen Dinge einzurichten.

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

So etwas (es sollte Ihnen zumindest eine Vorstellung davon geben, was/wie die Dinge zu konfigurieren sind) Es gibt mehr Optionen, aber überprüfen Sie die Javadocs darauf. Wenn Sie den UserService nicht nutzen können so wie es ist, um die Rollen abzurufen (weil sich nur die Rollen in der Datenbank befinden) dann implementieren Sie Ihren eigenen LdapAuthoritiesPopulator dafür.