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"
1
引入后 springboot 会自动装配security配置,启动项目后访问项目首页会跳转到登陆界面
默认用户名:user
默认密码:控制台输出
Using generated security password: 0c6b5fa9-7119-479a-a6ab-b9720b5ccca6
1
开发调试时,不需要每次都登陆,所以要禁用
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);
}
}
1
2
3
4
5
6
7
8
9
10
11
2.配置文件排除自动装配类
application.yml配置文件写法
spring:
autoconfigure:
#跳过security自动配置
exclude:
- org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
- org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration
1
2
3
4
5
6
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
1
2
备注
开始我只是排除了SecurityAutoConfiguration.class 然后禁用没效果,经过一番检查,我新项目还引入了org.springframework.boot:spring-boot-starter-actuator,用它的话就要再额外排除ManagementWebSecurityAutoConfiguration.class才能使禁用完全生效