我想用springsecurity从springboot(2.3.3.release)中完全删除cors。
有 WebSecurityConfigurerAdapter#configure
方法 HttpSecurity
我可以呼叫的对象 cors().disable()
但似乎不起作用。
class MySecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.cors().disable();
}
}
使用上面的代码片段,我在从前端应用程序访问端点时仍然会遇到cors错误。
相反,我必须重写 addCorsMappings
从 WebMvcConfigurer
界面如下?。
为什么?为什么打电话还不够 http.cors().disable()
?
class MySecurityConfiguration extends WebSecurityConfigurerAdapter implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedMethods("*")
.allowedOrigins("*");
}
1条答案
按热度按时间oyxsuwqo1#
嗨,您需要在spring boot项目中创建一个全局cors配置。创建一个类并用@configuration注解它。您可以遵循下面的示例。
下面是spring框架提供的完整指南https://spring.io/blog/2015/06/08/cors-support-in-spring-framework