当前位置: 首页 > article >正文

SpringSecurity快速入门(QuickStart)

文末有本篇文章的项目源码文件可供下载学习

SpringSecurity是一个用于在Java应用程序中实现认证和授权的框架,它提供了一套功能强大且灵活的安全机制来保护应用程序中的资源。通过SpringSecurity,我们可以实现诸如用户认证、用户授权、访问控制等功能,从而保护应用程序免受恶意访问和攻击。

0.编程思路

  1. 搭建项目,配置pom.xml,主要引入SpringBoot2/web启动器/SpringSecurity5启动器
  2. 编写CustomerController.java文件,新建一个方法用于访问
  3. 多次访问测试,主要包括:未登录时,访问资源受限;登录上时,可以访问资源;要退出时,可以退出;退出后再访问资源时,再次受限;

1.配置pom.xml

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.15</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

2.编写CustomerController.java

@RestController
public class CustomerController {

    @RequestMapping("securityTest")
    public String firstMethod() {
        return "这是自定义Controller的第一个方法,用于SpringSecurity测试";
    }
}

3.访问测试

1.当我们将pom.xml文件中的SpringSecurity启动器注释掉的运行结果

    <dependencies>
<!--        <dependency>-->
<!--            <groupId>org.springframework.boot</groupId>-->
<!--            <artifactId>spring-boot-starter-security</artifactId>-->
<!--        </dependency>-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

我们发现可以正常访问CustomerController的方法

2.当我们将pom.xml文件中的SpringSecurity启动器加入maven中时

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

我们发现此处被限制访问了,并且将我们的访问地址重定向到localhost:8080/logn,并出现一个登录页面,这是SpringSecurity默认的登录页.这里需要我们输入Username和Password,Username默认为user,Password默认为项目启动时在控制台输出的密码,如下所示

我们将用户名和密码输入之后,如下所示:

我们发现URL变为了之前的localhost:8080/securityTest,并且在浏览器上显示了我们想要的内容.

当我们在浏览器访问locahost:8080/logout时,我们又跳转到了退出页面,如下所示:

当我们点击Log Out后,又返回到登录页面,如下所示:

此时我们再用浏览器访问localhost:8080/securityTest时,又跳转到登录页面,如下所示

此时我们就可以看出,SpringSecurity已经正常配置到我们的项目中了.

本篇文章的项目源码文件,可供下载学习


http://www.kler.cn/a/582825.html

相关文章:

  • 《C++探幽:运算符重载》
  • SelectDB 实时分析性能突出,宝舵成本锐减与性能显著提升的双赢之旅
  • 【计算机网络】深入解析 HTTP 中的 GET 方法、POST 方法和 GET 和 POST 的区别
  • Ateme在云端构建可扩展视频流播平台
  • Linux进程观:简单性如何成就强大性(六)
  • Docker 数据持久化核心:挂载(Mounts)与卷(Volumes)的区别与选择指南
  • 【C++基础六】类和对象—中(构造和析构函数)
  • 服务器数据恢复—预防服务器故障,搞定服务器故障数据恢复
  • 网络安全基础知识:从零开始了解网络安全
  • 通过Git从误切换中恢复未保存的文件
  • 个人学习编程(3-12) 刷题
  • K8S学习之基础二十七:k8s中daemonset控制器
  • C# Enumerable类 之 集合操作
  • 【设计模式】遍历集合的艺术:深入探索迭代器模式的无限可能
  • hive 中优化性能的一些方法
  • 云原生可观测性体系:数字世界的神经感知网络
  • Spring Boot中利用Redis解决接口幂等性问题
  • html css 笔记
  • 访问权限控制、访问PHP站点
  • 13 | 实现统一的错误返回