.csrf().disable() 未生效
时间: 2024-06-06 18:08:06 浏览: 153
可能是因为您的代码中还存在其他的csrf保护措施,或者您的代码中没有正确地配置该方法。请检查您的代码是否存在其他的csrf保护措施,如在表单中添加了_csrf token等,如果有,请将其删除。另外,请确保您的代码正确地调用了.csrf().disable()方法,并且该方法调用在其他配置方法之前。如果问题仍然存在,请提供更多的代码和错误信息,以便我们更好地帮助您解决问题。
相关问题
springboot 同时使用WebMvcConfigurer和WebSecurityConfigurerAdapter 同时生效,除了启动类配置注解还有啥方法
在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来解决跨域问题了。
阅读全文