springboot 同时使用WebMvcConfigurer和WebSecurityConfigurerAdapter 同时生效,除了启动类配置注解还有啥方法
时间: 2024-03-30 19:30:09 浏览: 119
在Spring Boot中,如果你想同时使用WebMvcConfigurer和WebSecurityConfigurerAdapter来解决跨域问题,除了在启动类上配置注解之外,还可以使用以下方法:
1. 创建一个配置类,实现WebMvcConfigurer接口,并重写addCorsMappings方法来配置跨域访问。同时,创建一个继承自WebSecurityConfigurerAdapter的配置类,重写configure方法来禁用CSRF保护和启用跨域访问。
```java
@Configuration
public class CustomWebMvcConfigurer implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("*")
.allowedHeaders("*")
.allowCredentials(true);
}
}
@Configuration
public class CustomWebSecurityConfigurer extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
http.cors();
}
}
```
2. 在启动类上使用@EnableWebMvc和@EnableWebSecurity注解来启用WebMvcConfigurer和WebSecurityConfigurerAdapter配置类。
```java
@SpringBootApplication
@EnableWebMvc
@EnableWebSecurity
public class YourApplication {
public static void main(String[] args) {
SpringApplication.run(YourApplication.class, args);
}
}
```
这样,你就可以同时使用WebMvcConfigurer和WebSecurityConfigurerAdapter来解决跨域问题了。
阅读全文