Spring Security CORS 过滤器:常见问题故障排除
将 Spring Security 集成到现有项目时,如果 headers 可能会遇到与 CORS 相关的错误像“Access-Control-Allow-Origin”这样的内容没有在响应中设置。要解决此问题,您可以实现自定义过滤器,例如代码片段中的 MyFilter。但是,您还提到此过滤器未应用于您的请求。
自 Spring Security 4.1 起,有一种更简单的方法来启用 CORS 支持:
正确的 CORS 配置:
<br>@Configuration<br>公共类 WebConfig 扩展 WebMvcConfigurerAdapter {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">@Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedMethods("HEAD", "GET", "PUT", "POST", "DELETE", "PATCH"); }
}
Spring Security 配置:
<br>@Configuration<br>public class SecurityConfig 扩展 WebSecurityConfigurerAdapter {<pre class="brush:php;toolbar:false">@Override protected void configure(HttpSecurity http) throws Exception { http.cors(); } @Bean public CorsConfigurationSource corsConfigurationSource() { // Configure CORS settings here }
}
< ;/pre>
避免这些不正确的解决方案:
不要使用以下不正确的方法,例如:
其他故障排除提示:
通过遵循推荐的配置并避免不正确的解决方案,您应该能够解决 CORS 错误并在应用程序中启用适当的 CORS 支持。
以上是如何使用 Spring Security 4.1 及更高版本排查和修复 CORS 问题?的详细内容。更多信息请关注PHP中文网其他相关文章!