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禁用特定端点或全局的Basic Authentication 在Spring Boot应用中,默认情况下,如果启用了Spring Security,则会自动启用基本身份验证(Basic Authentication)。为了满足需求——即禁用某些特定端点或全局范围内的Basic Authentication功能,可以通过自定义配置实现。 #### 方法一:针对特定端点禁用Basic Authentication 通过`WebSecurityConfigurerAdapter`类中的`configure(HttpSecurity http)`方法,可以指定哪些路径不需要经过认证。以下是具体代码示例: ```java @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/specific-endpoint/**").permitAll() // 对于/specific-endpoint下的请求无需认证 .anyRequest().authenticated(); // 其他所有请求都需要认证 http.httpBasic().disable(); // 禁用Http Basic认证机制 } } ``` 上述代码片段展示了如何为某个特定端点(如`/specific-endpoint`)禁用Basic Authentication[^1]。 #### 方法二:全局禁用Basic Authentication 如果希望在整个应用程序范围内完全禁用Basic Authentication,可以直接关闭该功能并依赖其他形式的身份验证方式(例如JWT令牌或其他OAuth2方案)。下面是一个简单的例子: ```java @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().disable() // 如果不必要,可以选择禁用CSRF防护 .authorizeRequests() .antMatchers("/actuator/**", "/health-check").permitAll() // 放行健康检查接口以及Actuator相关APIs .and() .httpBasic().disable(); // 关闭Http Basic认证支持 } ``` 此部分说明了当使用`@EnableZuulProxy`与Spring Boot Actuator集成时,可能会引入额外管理端点的情况[^2]。因此,在实际操作过程中需要注意这些默认行为的影响。 另外值得注意的是关于安全性方面的一些最佳实践建议提到过,在生产环境下推荐仅允许HTTPS连接访问敏感数据资源[^3]。所以即使决定移除基础授权模式,也应考虑实施更高级别的加密传输协议保障通信过程的安全性。 #### 注意事项 尽管能够调整安全策略以适应业务逻辑的需求,但在设计阶段就应该充分评估潜在风险因素,并采取适当措施降低未授权访问的可能性。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值