0

Je souhaite désactiver la sécurité pour un point de terminaison spécifique afin de pouvoir appeler le contrôleur. Malheureusement, comme j'effectue un appel, je reçois un 304 (je le vois dans les outils de développement de Chrome) et je suis redirigé vers REACT frontend, en ignorant le point final de mon contrôleurLe chemin de sécurité à ressort exclut le point de terminaison du contrôleur avec la passerelle Zuul

@EnableWebSecurity 
@Configuration 
@EnableOAuth2Sso 
@EnableRedisHttpSession 
public class MyWebSecurityConfig extends WebSecurityConfigurerAdapter { 
    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http.authorizeRequests().antMatchers("/login*").permitAll()   
       .and().anonymous() 
      .disable() 
      .exceptionHandling() 
      .defaultAuthenticationEntryPointFor(new Http401AuthenticationEntryPoint(""), new AntPathRequestMatcher("/api/ **")) 

      .and() 
      .authorizeRequests() 
      .anyRequest().authenticated() 

      .and() 
      .logout() 
      .logoutUrl("/logout") 
      .logoutRequestMatcher(new AntPathRequestMatcher("/logout")) 
      .invalidateHttpSession(true) 
      .logoutSuccessUrl(ssoLogoutUrl) 

      .and() 
      .csrf() 
      .csrfTokenRepository(withHttpOnlyFalse()); 
    } 
} 

@SpringBootApplication 
@EnableZuulProxy 
@EnableDiscoveryClient 
@Import({AuthUserDetailService.class, GatewayWebSecurityConfig.class, VccLoginController.class}) 
public class GatewayApplication { 

    public static void main(String[] args) { 
     new SpringApplicationBuilder(GatewayApplication.class).run(args); 
    } 
} 


@Controller 
public class LoginController { 

    @RequestMapping("/login") 
    public String login(Model model) { 
     return "login.html"; 
    } 
} 

Répondre

0

Essayez quelque chose comme ceci:

Notez que j'ai autorisé la demande d'options pour chaque point de terminaison (puisque Reax les exploite avant les requêtes POST et PUT) et que j'ai modifié le chemin de connexion regex en /login/**.

+0

Je l'ai essayé, mais cela ne fonctionne pas. –

+0

Avez-vous supprimé le second '.and() .authorizeRequests() .anyRequest(). Authenticated()' ? – desoss

+0

Je pense que j'ai ce problème parce que j'utilise Zuul. –