SpringSecurity6从入门到实战之SpringSecurity快速入门

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
可观测监控 Prometheus 版,每月50GB免费额度
简介: 这篇文章是关于使用SpringSecurity 6进行快速入门的教程。首先介绍了所需的环境配置,包括SpringSecurity 6.0.8、SpringBoot 3.0.12和JDK 17。接着,通过步骤展示了如何创建一个新的SpringBoot工程,并添加Web支持。然后,运行工程并测试了Hello接口,确保其正常工作。之后,引入SpringSecurity依赖后,无需额外配置,系统即实现了基础的认证功能,自动重定向到登录页面。文章通过截图详细说明了这个过程,包括控制台日志、登录页面以及登录后的资源访问。

SpringSecurity6从入门到实战之SpringSecurity快速入门

环境准备

依赖

版本号

springsecurity

6.0.8

springboot

3.0.12

JDK

17

这里尽量与我依赖一致,免得在学习过程中出现位置的bug等

创建工程

这里直接选择springboot初始化快速搭建工程,导入对应的jdk17进行创建

直接勾选一个web即可,上方Springboot版本号如果没有3.0.12可以随便选哥,等项目初始化结束直接在pom.xml文件中修改即可

运行初始化工程

这里贴下目前pom.xml的依赖,可能Spring boot生成的依赖会导致这里无法下载springboot相关依赖(下载依赖无影响就可以忽略这条)

?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.12</version>
        <relativePath/>
        <!--  lookup parent from repository  -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>ss6-1</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

创建一个测试接口hello

这里过于简单不贴代码只展示截图了

运行项目

测试接口是否成功

引入SpringSecurity

pom.xml文件加入SpringSecurity

<!--  SpringSecurity依赖  -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

直接运行可以发现控制台打印了俩句额外的日志

再次访问/hello测试接口,可以发现路径被转到了/login而且还会出现一个登录的界面

这里就是SpringSecurity的强大之处了,无需进行任何配置即可完成权限控制中的认证部分,而且自带了一个简单的登录页面

进行用户登录,用户名为user,密码为我们刚刚在控制台上打印的内容即可进行登录

关于账号密码错误这种问题我就不在这里进行一一演示了,当我们访问任何资源时都需要进行

相关文章
|
6月前
|
安全 算法 Java
SpringSecurity 快速入门
SpringSecurity 快速入门
88 3
|
安全 Java 数据库
SpringSecurity 入门
Spring Security是Spring采用 `AOP`思想,基于 `servlet过滤器`实现的安全框架。它提供了完善的**认证机制**和**方法级的授权功能**。是一款非常优秀的权限管理框架。
85 0
|
6月前
|
存储 安全 Java
SpringSecurity 从入门到精通
SpringSecurity 从入门到精通
|
存储 SQL 前端开发
SpringSecurity-从入门到精通(2)
2.3.3.2 密码加密存储 ​ 实际项目中我们不会把密码明文存储在数据库中。 ​ 默认使用的PasswordEncoder要求数据库中的密码格式为:{id}password 。它会根据id去判断密码的加密方式。但是我们一般不会采用这种方式。 ​ 所以就需要替换 PasswordEncoder。
|
存储 NoSQL Java
SpringSecurity-从入门到精通学习笔记2
SpringSecurity-从入门到精通学习笔记
52 0
|
安全 Java 数据库
SpringSecurity入门
SpringSecurity入门
100 0
|
存储 安全 NoSQL
SpringSecurity-从入门到精通(1)
0. 简介 ​ Spring Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。 ​ 一般来说中大型的项目都是使用SpringSecurity 来做安全框架。小项目有Shiro的比较多,因为相比与SpringSecurity,Shiro的上手更加的简单。
|
6月前
|
SQL 安全 Java
【SpringSecurity】简介
【SpringSecurity】简介
60 0
|
6月前
|
安全 Java 数据库
SpringBoot - 安全入门与SpringSecurity
SpringBoot - 安全入门与SpringSecurity
85 0
|
安全 Java 数据库
SpringBoot整合SpringSecurity(通俗易懂)
SpringBoot整合SpringSecurity(通俗易懂)
152 0