Welcher Anmeldename für die Spring LDAP-Authentifizierung verwendet werden soll

Ich habe einen lokalen LDAP-Server erstellt und den Benutzer "djiao" mit dem Kennwort "123456 @ hinzugefüg

Versuchen, die Authentifizierung mit Spring Security mit Spring Boot zu implementieren. Meine webconfig-Klasse lautet wie folgt:

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .anyRequest()
                .authenticated()
                .and()
            .formLogin();
    }

    @Bean
    public ActiveDirectoryLdapAuthenticationProvider activeDirectoryLdapAuthenticationProvider() {
        ActiveDirectoryLdapAuthenticationProvider provider = new ActiveDirectoryLdapAuthenticationProvider("", "ldap://localhost:10389");
        provider.setConvertSubErrorCodesToExceptions(true);
        provider.setConvertSubErrorCodesToExceptions(true);
        provider.setUseAuthenticationRequestCredentials(true);
        return provider;
    }

    @Bean
    public LoggerListener loggerListener() {
        return new LoggerListener();
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.authenticationProvider(activeDirectoryLdapAuthenticationProvider());
    }

Ich kann mich jedoch nicht von der Anmeldeseite aus anmelden.

Wenn ich djiao (cn) oder djiao1 (uid) benutze, bekomme ich 500.

[LDAP: Fehlercode 34 - Falscher DN angegeben: djiao1 (0x64 0x6A 0x69 0x61 0x6F 0x31) ist ungültig]; verschachtelte Ausnahme ist javax.naming.InvalidNameException: [LDAP: Fehlercode 34 - Falscher angegebener DN: djiao1 (0x64 0x6A 0x69 0x61 0x6F 0x31) ist ungültig]

Wenn ich dn "cn = djiao, ou = Users, dc = example, dc = com" als Benutzernamen verwende, erhalte ich den Fehler "Bad credentials". Und das Passwort ist einfach 123456.

Was sollte der Benutzername für die Anmeldung sein? Oder fehlt mir etwas in der Klasse websecurityconfig?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage