You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 2.0.2添加security.ignored=/**无法禁用Spring Security

Spring Boot 2.0.2中security.ignored=/**配置不生效的解决方案

嘿,我明白你碰到的问题了——在Spring Boot 2.0.2里设置security.ignored=/**来禁用Spring Security完全没效果,还是弹出登录验证界面,对吧?这是因为这个配置项在Spring Boot 2.x版本已经被废弃移除了,官方不再支持通过这种方式忽略安全校验。

下面给你几种可行的解决方案,任选其一就能解决问题:

方案一:通过WebSecurityCustomizer Bean忽略所有请求

创建一个Spring Security配置类,注册WebSecurityCustomizer Bean来指定要忽略的路径:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityCustomizer;

@Configuration
@EnableWebSecurity
public class SecurityConfig {

    @Bean
    public WebSecurityCustomizer webSecurityCustomizer() {
        // 忽略所有路径的安全校验
        return (web) -> web.ignoring().antMatchers("/**");
    }
}

方案二:重写WebSecurityConfigurerAdapter的configure方法

继承WebSecurityConfigurerAdapter,重写configure(WebSecurity web)方法来忽略请求:

import org.springframework.security.config.annotation.web.builders.WebSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(WebSecurity web) throws Exception {
        // 忽略所有路径的安全校验
        web.ignoring().antMatchers("/**");
    }
}

方案三:直接排除Spring Security自动配置类

如果你的需求是完全禁用Spring Security,可以在启动类上直接排除它的自动配置类,这是最直接的方式:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;

@SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
public class YourApplication {
    public static void main(String[] args) {
        SpringApplication.run(YourApplication.class, args);
    }
}

补充说明

Spring Boot 2.0及以上版本中,security.ignored属性已经从自动配置中移除,官方文档明确推荐使用上述代码配置的方式来管理忽略的路径,所以你原来的application.properties里的配置不会被Spring识别,这就是为什么依然会出现登录界面的原因。

内容的提问来源于stack exchange,提问作者azguindou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:02:20