Maison > interface Web > js tutoriel > Comment configurer correctement CORS dans Spring Boot avec Spring Security ?

Comment configurer correctement CORS dans Spring Boot avec Spring Security ?

Linda Hamilton
Libérer: 2024-11-27 00:17:10
original
291 Les gens l'ont consulté

How to Properly Configure CORS in Spring Boot with Spring Security?

Configuration CORS dans Spring Boot et Spring Security

Lors de l'utilisation de Spring Boot et Spring Security tout en prenant en charge CORS, certains problèmes de configuration peuvent survenir, entraînant des résultats inattendus.

Un de ces problèmes est rencontré lors d'une requête GET avec XMLHttpRequest et de l'utilisation du support CORS, où un code d'état 200 est renvoyé malgré des informations d'authentification incorrectes. Ce comportement introduit des divergences dans la gestion des codes d'état HTTP sur le front-end.

Solution

Pour résoudre ce problème, il est crucial d'activer explicitement la prise en charge CORS dans Spring Security. Ceci est accompli en configurant CORS dans Spring Security, ce qui lui permet d'exploiter la configuration Spring MVC CORS.

Pour les applications utilisant les annotations @CrossOrigin au niveau du contrôleur, il suffit d'activer la prise en charge Spring Security CORS. Le code ci-dessous le démontre :

@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.cors().and()...
    }
}
Copier après la connexion

Pour les utilisateurs optant pour une configuration CORS globale, il est nécessaire de définir un bean CorsConfigurationSource.

@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.cors().and()...
    }

    @Bean
    CorsConfigurationSource corsConfigurationSource() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", new CorsConfiguration().applyPermitDefaultValues());
        return source;
    }
}
Copier après la connexion

En utilisant cette approche, la prise en charge de CORS est effectivement activé dans Spring Boot et Spring Security, résolvant le problème où les en-têtes CORS appropriés n'étaient pas ajoutés lors des contrôles d'authentification. Reportez-vous à la documentation officielle de Spring Security sur CORS pour plus de détails.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal