ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-03-20 10:32:56  阅读:134  来源: 互联网

标签:登录 Spring spring Security HttpBasic security


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篇原创内容

公众号

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

标签:登录,Spring,spring,Security,HttpBasic,security
来源: https://blog.csdn.net/zhoubangbang1/article/details/123608623

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有