от
Я пытаюсь сделать некоторые защитные коды webflux как ниже,
@Configuration
@EnableWebFluxSecurity
public class BlogWebFluxSecurityConfig {

    @Bean
    public MapReactiveUserDetailsService userDetailsService() {

        UserDetails userWebFlux = User.withUsername("joseph").password(passwordEncoder().encode("password")).roles("USER").build();
        return new MapReactiveUserDetailsService(userWebFlux);
    }

    @Bean
    public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
        http
        .authorizeExchange()
        .pathMatchers("/route/user/all", "/route/post/all").permitAll()
        .pathMatchers(HttpMethod.GET, "/route/user/**", "/route/post/**").hasRole("USER")
        .anyExchange().authenticated()
        .and()
        .httpBasic();

        return http.build();
    } 

    @Bean 
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }
}
А также сделать клиент webflux коды с помощью класса WebClient. Я использую обычную проверку подлинности по протоколу HTTP. В HTTP-методом GET, базовой HTTP-аутентификации успешно работает. Эти кодексы вебклиент, и он хорошо работает.
client.get().uri("/route/post/id/{id}", 10).accept(MediaType.APPLICATION_JSON)
                .header(HttpHeaders.AUTHORIZATION, basicAuthHeader).exchange()
                .flatMap(response 

Но на HTTP.Post и HTTP.Метод put, базовой аутентификации http не работает, даже выдает исключение.

public class WebFluxBlogClient {

    private WebClient client = WebClient.create("http://localhost:8080");  

    String basicAuthHeader = "basic "   Base64Utils.encodeToString(("joseph"   ":"   "password").getBytes());

    public void functionOnSecurityDocument() {

        Map mapUser = new HashMap();
        mapUser.put("username", "joseph");
        mapUser.put("password", "password");

        client.post().uri("/route/user/login").accept(MediaType.APPLICATION_JSON).body(Mono.just(mapUser), Map.class)
                .header(HttpHeaders.AUTHORIZATION, basicAuthHeader).exchange()
                .map(ClientResponse::statusCode).subscribe(response 

Значения ответов

Login : Forbidden
User Creation: Forbidden
2019

У меня нет представления о смысле исключением. Я хочу знать, как применить основной HTTP-аутентификации на HTTP.Post и HTTP.Способ положить webflux вебклиент. Любой ответ будет высоко оценен. Спасибо

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
...