将 CORS 支持集成到使用 Spring Security 配置的 Spring Boot 应用程序中可能会导致意外CORS 相关问题。具体来说,当使用 AngularJS 或 JavaScript XMLHttpRequests 时,身份验证失败时可能会遇到“0”或空响应正文等状态代码,从而阻碍前端正确的错误处理。
解决此问题问题,在 Spring Security 中显式启用 CORS 支持:
启用 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 } }
利用 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 在 Spring Boot 应用程序中正确配置 CORS?的详细内容。更多信息请关注PHP中文网其他相关文章!