禁用Spring云安全
我尝试使用以下配置在Spring中禁用Spring安全性:禁用Spring云安全,spring,spring-security,spring-cloud,spring-security-oauth2,spring-cloud-security,Spring,Spring Security,Spring Cloud,Spring Security Oauth2,Spring Cloud Security,我尝试使用以下配置在Spring中禁用Spring安全性: @SpringBootApplication(scanBasePackages = { ...... }, exclude = SecurityAutoConfiguration.class) public class Application { public static void main(final String[] args) { SpringApplication.run(Ap
@SpringBootApplication(scanBasePackages = { ...... },
exclude = SecurityAutoConfiguration.class)
public class Application {
public static void main(final String[] args)
{
SpringApplication.run(Application.class, args);
}
}
当我发出请求时,我得到:找不到预期的CSRF令牌
我得到的提示是:
01:14:35.799[boundedElastic-1]调试DefaultWebSessionManager[lambda$createWebSession$3:94]-创建新的WebSession。01:14:35.862[boundedElastic-1]调试HttpWebHandlerAdapter[traceDebug:91]-[375ab2a1]已完成403禁止
您知道最新的Spring云如何禁用Spring安全性吗?您可以使用属性文件禁用它:
security.enable.csrf=false
或者:
您可以通过扩展websecurityConfigureAdapter
类并重写configure
方法来禁用csrf
。参考
无法注册在类路径资源[org/springframework/boot/actuate/autoconfigure/security/ReactiveManagementWebSecurityAutoConfiguration.class]中定义的bean“springSecurityFilterChain”。具有该名称的bean已经在类路径资源[org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]中定义和重写被禁用。以及
spring.main.allow bean definition overriding=true
但我再次遇到同样的问题:找不到预期的CSRF令牌
任何其他解决方案?请在propertis/yaml文件中尝试security.enable.CSRF=false或security.enable.CSRF:false。我添加了它,但再次出现同样的问题。如果添加它位于属性文件中,您可以使用ReactiveManagementWebSecurityAutoConfiguration
来禁用csrf
,这样您就不需要它了。您可以删除该类并重试。
@EnableWebSecurity
@Configuration
public class WebSecurityConfig extends
WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable();
}
}