首页 > web前端 > js教程 > 如何使用 Spring Security 在 Spring Boot 应用程序中正确配置 CORS?

如何使用 Spring Security 在 Spring Boot 应用程序中正确配置 CORS?

Barbara Streisand
发布: 2024-12-01 12:33:14
原创
422 人浏览过

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

在 Spring Boot Spring Security 应用程序中配置 CORS

问题

将 CORS 支持集成到使用 Spring Security 配置的 Spring Boot 应用程序中可能会导致意外CORS 相关问题。具体来说,当使用 AngularJS 或 JavaScript XMLHttpRequests 时,身份验证失败时可能会遇到“0”或空响应正文等状态代码,从而阻碍前端正确的错误处理。

解决方案

解决此问题问题,在 Spring Security 中显式启用 CORS 支持:

  1. 启用 CORS 支持在 Spring Security 中:

    @EnableWebSecurity
    public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.cors().and()... // Add additional security configuration here
        }
    }
    登录后复制
  2. 利用 CORS 全局配置(可选):

    定义一个 CorsConfigurationSource bean:

    @Bean
    CorsConfigurationSource corsConfigurationSource() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", new CorsConfiguration().applyPermitDefaultValues());
        return source;
    }
    登录后复制

这个配置利用 Spring MVC 的 CORS 支持并解决以前基于过滤器的方法。更多详细信息可以在 Spring Security CORS 文档中找到。

附加说明

  • 当 Spring Security 在身份验证过程中重定向或无法添加 CORS 标头时,就会出现此问题。
  • 启用 Spring Security CORS 支持允许框架利用 Spring MVC 的 CORS配置。
  • 启用 Spring Security CORS 支持时,支持控制器级别的 @CrossOrigin 注解。
  • 如果身份验证失败,响应将包含适当的状态代码和正文,以便于正确处理错误前端。

以上是如何使用 Spring Security 在 Spring Boot 应用程序中正确配置 CORS?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板