springboot 2.x 开发调试禁用spring security

目录

  • gradle引入spring security
  • 开发调试时,不需要每次都登陆,所以要禁用
    • 1.启动类排除自动装配类
    • 2.配置文件排除自动装配类
      • application.yml配置文件写法
      • application.properties配置文件写法
  • 备注

gradle引入spring security

springboot 项目开发时引入了spring security

implementation "org.springframework.boot:spring-boot-starter-security"

引入后 springboot 会自动装配security配置,启动项目后访问项目首页会跳转到登陆界面
springboot 2.x 开发调试禁用spring security_第1张图片
默认用户名:user
默认密码:控制台输出

Using generated security password: 0c6b5fa9-7119-479a-a6ab-b9720b5ccca6

开发调试时,不需要每次都登陆,所以要禁用

1.启动类排除自动装配类

@SpringBootApplication(exclude = {
        org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class,
        //引入 'org.springframework.boot:spring-boot-starter-actuator'依赖后,也要排除下方的自动装配类
        org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration.class
})
public class TestApplication {

    public static void main(String[] args) {
        SpringApplication.run(TestApplication.class, args);
    }
}

2.配置文件排除自动装配类

application.yml配置文件写法

spring:
  autoconfigure:
    #跳过security自动配置
    exclude:
    - org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
    - org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration

application.properties配置文件写法

spring.autoconfigure.exclude[0]=org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
spring.autoconfigure.exclude[1]=org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration

备注

开始我只是排除了SecurityAutoConfiguration.class 然后禁用没效果,经过一番检查,我新项目还引入了org.springframework.boot:spring-boot-starter-actuator,用它的话就要再额外排除ManagementWebSecurityAutoConfiguration.class才能使禁用完全生效

你可能感兴趣的:(springboot学习笔记)