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

简介: Spring Security简介Spring Security的前身是AcegiSecurity,收入到Spring子项目以后改名为Spring Security。Spring 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 创建项目的时候就添加上


5f842ddce65130a6aabea1684b9491f1.png


  • 创建好项目后在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我们发现,浏览器将自动进入需要进行身份验证页面



06ff3326dcf38d288df520317fe186ce.png

2.png

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


  • Spring Security 默认用户名:user
  • Spring Security 提供随机密码:

19a9ea3ef29c3cd399006662831fb059.png


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

使用PostMan测试



6848bd41fd4bce2c59b6801919ee16b2.png



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

自定义用户名和密码


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

在application.yml进行配置

spring:
  security:
    user:
      name: admin
      password: admin


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


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


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


火狐设置无痕模式


b0acd66ed8f167721c4d816ac56bfc5d.png


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


springboot葵花宝典

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

目录
相关文章
|
1月前
|
安全 Java 数据库
安全无忧!在 Spring Boot 3.3 中轻松实现 TOTP 双因素认证
【10月更文挑战第8天】在现代应用程序开发中,安全性是一个不可忽视的重要环节。随着技术的发展,双因素认证(2FA)已经成为增强应用安全性的重要手段之一。本文将详细介绍如何在 Spring Boot 3.3 中实现基于时间的一次性密码(TOTP)双因素认证,让你的应用安全无忧。
79 5
|
3月前
|
SQL Java 测试技术
在Spring boot中 使用JWT和过滤器实现登录认证
在Spring boot中 使用JWT和过滤器实现登录认证
220 0
|
4月前
|
安全 Java 数据安全/隐私保护
使用Spring Security实现细粒度的权限控制
使用Spring Security实现细粒度的权限控制
|
4月前
|
安全 Java 数据库
实现基于Spring Security的权限管理系统
实现基于Spring Security的权限管理系统
|
4月前
|
安全 Java 数据安全/隐私保护
解析Spring Security中的权限控制策略
解析Spring Security中的权限控制策略
|
3月前
|
Java Spring
【Azure Spring Cloud】Spring Cloud Azure 4.0 调用Key Vault遇见认证错误 AADSTS90002: Tenant not found.
【Azure Spring Cloud】Spring Cloud Azure 4.0 调用Key Vault遇见认证错误 AADSTS90002: Tenant not found.
|
3月前
|
JSON 安全 Java
|
3月前
|
消息中间件 安全 Java
Spring Boot 基于 SCRAM 认证集成 Kafka 的详解
【8月更文挑战第4天】本文详解Spring Boot结合SCRAM认证集成Kafka的过程。SCRAM为Kafka提供安全身份验证。首先确认Kafka服务已启用SCRAM,并准备认证凭据。接着,在`pom.xml`添加`spring-kafka`依赖,并在`application.properties`中配置Kafka属性,包括SASL_SSL协议与SCRAM-SHA-256机制。创建生产者与消费者类以实现消息的发送与接收功能。最后,通过实际消息传递测试集成效果与认证机制的有效性。
136 4
|
3月前
|
Java Spring 安全
Spring 框架邂逅 OAuth2:解锁现代应用安全认证的秘密武器,你准备好迎接变革了吗?
【8月更文挑战第31天】现代化应用的安全性至关重要,OAuth2 作为实现认证和授权的标准协议之一,被广泛采用。Spring 框架通过 Spring Security 提供了强大的 OAuth2 支持,简化了集成过程。本文将通过问答形式详细介绍如何在 Spring 应用中集成 OAuth2,包括 OAuth2 的基本概念、集成步骤及资源服务器保护方法。首先,需要在项目中添加 `spring-security-oauth2-client` 和 `spring-security-oauth2-resource-server` 依赖。
52 0
|
5月前
|
JSON 安全 Java
Spring Security 6.x 微信公众平台OAuth2授权实战
上一篇介绍了OAuth2协议的基本原理,以及Spring Security框架中自带的OAuth2客户端GitHub的实现细节,本篇以微信公众号网页授权登录为目的,介绍如何在原框架基础上定制开发OAuth2客户端。
202 4
Spring Security 6.x 微信公众平台OAuth2授权实战