两个方法
两者效果是一样的,spring boot 2.x和1.x的配置方法和实现接口(类)不一样。
通过bean注解实现
@Bean
public WebMvcConfigurer shiroMethodArgConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
resolvers.add(new ShiroMethodArgumentResolver());
}
@Override
public void addCorsMappings(CorsRegistry registry) {
// 设置了可以被跨域访问的路径和可以被哪些主机跨域访问
registry.addMapping("/**")
.allowedOrigins("*")
.allowedHeaders("Origin",
"X-Requested-With",
"Content-Type",
"Accept",
"Access-Control-Allow-Headers",
"Access-Control-Request-Method",
"Host",
"Authorization",
"x-access-token",
"Access-Control-Allow-Origin")
.allowedMethods("*")
.allowCredentials(true);
}
};
}
通过Configuration注解实现
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedMethods("*")
.allowedOrigins("*")
.allowedHeaders("*");
}
}