springboot 关闭 security 的http basic 认证

前言

在前边学习 session 的时候,不知道是哪个包依赖了 springboot security,导致在接下来的 api 访问中,去进行 security 的 basic 认证。

security 默认的登录名是 user,密码是在你启动项目的时候会自己生成,你在你的ide工具的console 中就可以看到。
在这里插入图片描述
也可以自己进行配置

spring.security.user.name=admin
spring.security.user.password=123456

接下来我们说一下如何关闭 其 basic 认证。

关闭 basic 认证

在springboot 1.x 中,你可以在 application.properties 中添加 security.basic.enabled=false即可。
但是在 springboot 2.x 中,这个配置就不管用了。

  1. 粗暴一点,在 启动类 中配置
@EnableAutoConfiguration(exclude = {
		org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class
})
  1. 继承 WebSecurityConfigurerAdapter 类,并重写 configure 方法
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
	@Override
	protected void configure(HttpSecurity http) throws Exception {
		http.authorizeRequests().anyRequest().permitAll().and().logout().permitAll();
	}
}

以上就是关闭 security 的 basic 认证的方法。

### Spring Boot Security Version 3 配置与使用 Spring Boot Security 的版本 3 提供了一种更灵活的方式来保护应用程序的安全性。以下是关于其配置和使用的详细介绍。 #### Maven 依赖项 为了启用 Actuator 和安全功能,需要在项目中引入 `spring-boot-starter-actuator` 和其他必要的依赖项[^3]: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> ``` 这些依赖项会自动集成安全性到应用中并提供健康检查和其他监控端点的功能。 --- #### 默认用户名密码设置 默认情况下,在 `application.properties` 文件中可以通过以下属性来定义用户的名称、密码以及角色权限[^1]: ```properties spring.security.user.name=actuator spring.security.user.password=actuator spring.security.user.roles=ADMIN ``` 上述配置指定了一个名为 `actuator` 的用户及其对应的密码也为 `actuator`,该用户具有管理员 (`ADMIN`) 权限。 如果未显式指定,默认的用户名将是 `user`,而密码则会在启动日志中随机生成并打印出来。 --- #### 自定义安全策略 对于更加复杂的场景,可能需要自定义安全规则。这通常通过实现 `WebSecurityConfigurerAdapter` 或者利用新的无适配器模式完成。下面是一个简单的例子展示如何允许特定路径公开访问,其余部分受保护: ```java import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; 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 protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/actuator/health").permitAll() // 允许所有人查看 /actuator/health 路径 .anyRequest().authenticated(); // 所有其他请求都需要身份验证 http.httpBasic(); // 启用基本认证机制 } } ``` 此代码片段展示了如何让 `/actuator/health` 端点无需登录即可被调用,同时确保所有其他管理操作受到严格控制。 --- #### 更多高级选项 更多详细的配置可查阅位于 `spring-boot-actuator-autoconfigure.jar` 中的元数据文件 `spring-configuration-metadata.json`,其中列出了支持的所有参数及其描述信息[^2]。 例如,某些敏感端点(如关闭服务器命令)可能会禁用或仅开放给内部网络流量。这种精细化调整有助于提升系统的整体安全性。 --- ### 总结 以上介绍了 Spring Boot Security 版本 3 下的基础配置方法及实际运用技巧。合理规划好资源级别的授权逻辑能够有效防止未经授权的操作发生。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值