Не удается войти в систему с помощью ldap из приложения activjs - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь войти из моего приложения Reactjs в Spring boot ldap (Authentication).

Хотя это работает, но иногда я получаю 401 Ошибка аутентификации, но в блоке catch, что странно.

Вот мой код:

    fd.append('j_username', encodeURI(username))
    fd.append('j_password', encodeURI(password))

    try {

        const response = await axios({
            url: configs.Data.loginURL,
            method: 'post',
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded'
            },
            data: fd,
            withCredentials: true
        });

        console.log(response);
        if (response.status === 200) {

            return { loggedIn: true, error:'', status: response.status }
        } else {
            return { loggedIn: false, error:response.error, status: response.status }
        }
    } catch (err) {
        return { status: err.response.status, error: err.response.statusText }
    }

Spring Защитный код

protected void configure(HttpSecurity httpSecurity) throws Exception { httpSecurity.cors().and().csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()).and().exceptionHandling().authenticationEntryPoint(authenticationEntryPoint()).and().formLogin().loginPage("/login").successHandler(successHandler()).failureHandler(failureHandler()).usernameParameter("j_username").passwordParameter("j_password").permitAll().and().httpBasic().and() .logout().logoutUrl("/logout").invalidateHttpSession(true).deleteCookies("JSESSIONID").logoutSuccessHandler(logoutSuccessHandler()).permitAll().and() .headers().frameOptions().deny().and() .authorizeRequests() .antMatchers("/").permitAll() .antMatchers("/admin/startProcess").access("hasAuthority('MANAGERS') or hasAuthority('SUPERUSER')").anyRequest().authenticated();}

Я успешно вошел в систему, и иногда я захожу в блок catch моего приложенияactjs.

Изображение ошибки аутентификации

Успешное изображение

Если я сначала нажму кнопку входа в систему, я получу ошибку аутентификации, а затем снова получу успех. Альтернативный ответ различен для одной и той же конечной точки

...