Spring Security基础-1-HttpBasic基本认证登录

Spring Security基础-1-HttpBasic基本认证登录

Spring Security简介

Spring Security的前身是AcegiSecurity,收入到Spring子项目以后改名为Spring Security。Spring Security的核心功能有两个认证和授权

  • Authentication:**就是身份认证(简称认证)**,用来告诉系统你是谁的

  • Authorization:**就是访问授权(简称授权)**,当系统指定你是谁以后,就会根据权限管理获取你应有的权限,告诉你可以干什么(简单说就是解决你能干什么)。

官方地址:https://spring.io/projects/spring-security

源码地址:https://github.com/spring-projects/spring-security

为什么介绍Spring Security

Spring Security虽然说相对复杂,但是它的功能丰富个人觉得有以下优点:

  • Spring Security支持Oauth2.0

  • Spring Security可以更好的支持第三方登录

  • SPring Security对Spring Cloud等微服务框架有很好的衔接。

HttpBasic模式登录

HttpBasic验证方式是Spring Security中实现登录最简单的方式,这种方式并不安全,不适合web项目中使用,但是它是 一些主流认证的基础,spring security中默认的认证就是HttpBasic。

创建Spring Security项目

我们这里就不过多的介绍如何创建Spring Boot项目了,如果初学者可以看一下我之前介绍的spring boot 入门介绍系列

只不过在新建项目的时候需要选择添加Spring Security的依赖,两种方式

  • 在使用IDEA 创建项目的时候就添加上

图片

  • 创建好项目后在pomx.ml中添加依赖
  <!--spring security-->
  <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-security -->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-security</artifactId>
   <version>2.6.4</version>
  </dependency>

  • 在项目中添加一个简单的Controller层
@RestController
public class TestController {

    @GetMapping("/security")
    public String test(){
        return "hello spring security httpbasic";
    }
}


简单测试

使用浏览器测试

输入http://localhost:8080/security我们发现,浏览器将自动进入需要进行身份验证页面

图片

2.png

这个时候我们应该输入什么去进行登录?,其实就是Spring Security提供了默认的用户名user,那么密码是什么?不知道你想到没有,实际上Spring Security提供了一个随机的登录密码输出到了控制台

  • Spring Security 默认用户名:user

  • Spring Security 提供随机密码:

图片

输入账号和密码以后获取结果如下:

图片

使用PostMan测试

图片

按照图上格式输入以后,PostMan会自动在Headers中生成Authorization

图片

自定义用户名和密码

如果我们不想每次去查看Spring Security随机提供的密码以及我们想使用我们自己的用户名,那我我们只需要简单配置一下就可以实现

在application.yml进行配置
spring:
  security:
    user:
      name: admin
      password: admin

启动浏览器进行测试,除了输入的账号和密码不一样以外其他结果都一样。

:因为我们账号密码登录成功以后,便会记住一段时间,让我们下次登录的时候不需要进行登录,这是浏览器的默认行为,如果我们在测试中响应避免这种情况可以将浏览器设置成无痕模式

  • 谷歌设置无痕模式   ctrl+shift+n

  • 火狐设置无痕模式

图片

如果您觉得本文不错,欢迎关注,点赞,收藏支持,您的关注是我坚持的动力!

springboot葵花宝典

主要分享JAVA技术,主要包含SpringBoot、SpingCloud、Docker、中间件等技术,以及Github开源项目

65篇原创内容

公众号

原创不易,转载请注明出处,感谢支持!如果本文对您有用,欢迎转发分享!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值