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

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

环境准备

依赖版本号
springsecurity6.0.8
springboot3.0.12
JDK17

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

创建工程

image.png

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

image.png

直接勾选一个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

image.png

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

运行项目

image.png

测试接口是否成功

image.png

引入SpringSecurity

pom.xml文件加入SpringSecurity

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

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

image.png

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

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

image.png

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/18578.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redhat9 LAMP安全配置方案及测试

目录 数据库主机 安装Mariadb数据库服务 设置mariadb开机自动启动 Php主机 部署Apache服务器 设置apache服务开机自启 安装php 安装 phpMyAdmin 打开测试机 更新软件包列表&#xff1a; 首先&#xff0c;确保你的软件包列表是最新的。打开终端并输入以下命令&#xf…

等级保护应用安全验证测试:身份鉴别缺陷、SQL注入漏洞、敏感信息明文传输

文章目录 引言I SQL注入漏洞1.1 问题1.2 原因1.3 解决方案II 敏感信息明文传输2.1 漏洞描述2.2 解决方案III 会话重放漏洞3.1 重要数据传输过程中存在被篡改风险3.2 可使用同一验证码对系统账户进行爆破引言 问题: 身份鉴别缺陷、SQL注入漏洞、敏感信息明文传输 解决方案: …

“云原生安全:构建弹性且安全的云上环境的关键要素“

云原生安全是指在设计和实施云原生应用时&#xff0c;从一开始就将安全性融入到每一个环节&#xff0c;确保云环境既具备弹性又安全可靠。构建一个既弹性又安全的云上环境&#xff0c;关键要素包括以下几个方面&#xff1a; 1. 微服务架构&#xff1a;采用微服务架构可以提高系…

Vue 3学习理解 Object.assign浅拷贝

Vue 3学习理解 Object.assign浅拷贝 一、前言1.什么是 Object.assign() 方法&#xff1f;2.在 Vue 3 中的应用3.注意事项4.结语 一、前言 在Vue 3中&#xff0c;我们经常需要对对象进行合并或复制操作。其中&#xff0c;Object.assign() 方法是一个常用的方法&#xff0c;用于…

深度解读ChatGPT基本原理

在人工智能领域&#xff0c;自然语言处理&#xff08;NLP&#xff09;一直是研究的热点之一。近年来&#xff0c;随着深度学习技术的飞速发展&#xff0c;一种名为ChatGPT的模型引起了广泛关注。本文将深入探讨ChatGPT的基本原理&#xff0c;帮助读者更好地理解这一前沿技术。 …

Linux查看设备信息命令

dmidecode | grep Product Name 查看grub版本号&#xff1a;rpm -qa | grep -i "grub" 客户端操作系统版本&#xff1a; cat /etc/issue cat /etc/redhat-release 处理器品牌及型号&#xff1a; less /proc/cpuinfo |grep model

Rust学习05:还活着!我没有放弃!

我还活着&#xff01; 我并没有放弃&#xff01;&#xff01; 对于一位非专业的、之前只学过Python的、仅利用业余时间的自学者来说&#xff0c;每一次打开vscode开始写Rust代码&#xff0c;都感觉像全新的开始&#xff0c;似乎从来没有学过Rust一样&#xff01; 好反人类的语言…

【Qt】【模型/视图】代理模型

文章目录 代理模型简单介绍QSortFilterProxyModel类简单介绍排序过滤子类化 代理模型简单介绍 代理模型的作用是可以将一个模型中的数据进行排序或者过滤&#xff0c;然后提供给视图进行显示。 如下所示&#xff0c;创建一个源模型、一个代理模型&#xff0c;界面上创建一个列…

[Python库] pyudev

[Python库] pyudev ​pyudev​是什么 ​pyudev​是libudev​的python版本&#xff0c;而libudev​是linux的设备和硬件管理库。 pyudev支持libudev的所有功能&#xff0c;可以通过官方提供的接口枚举设备、查找设备属性或者监听设备状态&#xff0c;包括异步监听。 资料&#x…

【TCP协议中104解析】wireshark抓取流量包工具,群殴协议解析基础

Tcp ,104 ,wireshark工具进行解析 IEC104 是用于监控和诊断工业控制网络的一种标准&#xff0c;而 Wireshark则是一款常用的网络协议分析工具&#xff0c;可以用干解析TEC104 报文。本文将介绍如何使用 Wireshark解析 IEC104报文&#xff0c;以及解析过 程中的注意事项。 一、安…

AI图书推荐:用ChatGPT和Python搭建AI应用来变现

《用ChatGPT和Python搭建AI应用来变现》&#xff08;Building AI Applications with ChatGPT API&#xff09;将ChatGPT API与Python结合使用&#xff0c;可以开启构建非凡AI应用的大门。通过利用这些API&#xff0c;你可以专注于应用逻辑和用户体验&#xff0c;而ChatGPT强大的…

[大师C语言(第十四篇)]C语言数据结构技术详解

引言 数据结构是计算机科学中的一个基础概念&#xff0c;它涉及数据组织和访问方法的设计。在C语言中&#xff0c;数据结构的使用可以提高程序的效率和可读性。本文将深入探讨C语言数据结构背后技术&#xff0c;并通过详细的代码案例&#xff0c;展示C语言在数据结构中的应用和…

Axios的使用简单说明

axios 请求方式和参数 axios 可以发送 ajax 请求&#xff0c;不同的方法可以发送不同的请求: axios.get&#xff1a;发送get请求 axios.post&#xff1a;发送post请求 axios.put&#xff1a;发送put请求 axios.delete&#xff1a;发送delete请求 无论哪种方法&#xff0c;第一…

【2】:向量与矩阵

向量 既有大小又有方向的量叫做向量 向量的模 向量的长度 单位向量 (只表示方向不表示长度) 向量的加减运算 向量求和 行向量与列向量的置换 图形学中竖着写 向量的长度计算 点乘&#xff08;计算向量间夹角&#xff09; 点乘满足的运算规律 交换律、结合律、分配…

单例模式(Java实现)

1. 懒汉式线程不安全 public class LazyUnsafeSingleton {private static LazyUnsafeSingleton singleton;private LazyUnsafeSingleton(){}public static LazyUnsafeSingleton getInstance() {if (singleton null) singleton new LazyUnsafeSingleton();return singleton;}…

MouseBoost Pro for Mac v3.4.7 鼠标右键助手 安装教程【支持M芯片】

MouseBoost Pro for Mac v3.4.7 鼠标右键助手 安装教程【支持M芯片】 原文地址&#xff1a;https://blog.csdn.net/weixin_48311847/article/details/139201501

Kibana创建ElasticSearch 用户角色

文章目录 1, ES 权限参考2, 某应用的管理员权限&#xff1a;可以open/close/delete/cat/read/write 索引3, 某应用的读写权限&#xff1a;可以cat/read/write 索引 &#xff08;不能删除索引或数据&#xff09;4, 某应用的只读权限 1, ES 权限参考 https://www.elastic.co/gui…

Notepad++不显示CRLF的方法

View -> Show Symbol -> 去掉勾选 Show All Characters

【教程】PaddleOCR高精度文字识别

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ PaddleOCR/doc/doc_ch/quickstart.md at main PaddlePaddle/PaddleOCR GitHub 安装 pip install paddlepaddle -i https://mirror.baidu.com/pypi/s…

C++是微软发明的吗?为什么会有这么多的编译器?哪个才是官方的

C现在由C标准委员会维护。称作标准C。C标准委员会只是定义C的标准&#xff0c;具体的实现需要各个编译器厂商去实现&#xff0c;如微软实现的C版本为VC。Borland公司实现的是BC。各个编译器基本是遵循C标准的。仅有很小的一部分不同。 C不是微软发明&#xff0c;C是语言 但是有…