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

SpringSecurity+Mysql数据库实现用户安全登录认证

  Spring Security 是一个提供身份认证、授权和防范常见攻击的安全权限框架。无论是对命令式,还是响应式web应用程序都完美支持,现在主要用作保护基于 Spring 框架的应用程序的事实标准。相对于shiro来说,SpringSecurity功能更加复杂而且更加强大

1.SpringBoot整合security

   pom中加入依赖

<!--security-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId>
</dependency><!--lomback--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.16.10</version></dependency><!--thymeleaf模板引擎--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId><version>2.6.5</version></dependency><!--mysql驱动包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><!--mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.4</version></dependency><!--阿里驱动类--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.5</version>
</dependency>

当引入security依赖后,启动项目再访问时,会被要求登录,我们账号输入user,密码在控制台

bd2c81f2b90c099d2c4bb720fbdb6a53.png

 

 

 b0c20af1a65486abccc689a78d23f255.png

 成功登录。

 

登录成功后我们可以访问Controller里的资源

a255e7b609d1d27025625f74a905199f.png

 在SecurityConfig里配置拦截路径,以及放行路径,

         9f286f1d8b67cc5222731c5be4feeffd.png

 19a0d6247a1d36c272cd5953e869b4db.png

 在Config里注入BCryptPasswordEncoder,Hbase密码加密类

eea67d72eea77f9ff70b6e869fc39511.png

 

接下来实现LoadUserByUserName,它会根据name去数据库查找比对密码,成功则放行,失败拦截

33e0b8ee19e6fc62f5035d6ed21ad3d0.png

 注意数据表里的password字段要经过BCrt类密码加密,才能比对成功

f12982b900151a6d4a18388bf2fd86cf.png

 

 

最后测试,打开浏览器输入url地址,会跳转到登录页面进行登录,输入账号,密码,成功登陆

 

4c2cd65023c8432842a24fae073ec126.png

 如果账号密码比对失败或者断网,会跳转到对应的error页面或者提示

cb31fbe47567562995376679f2f1e014.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

SpringSecurity+Mysql数据库实现用户安全登录认证

Spring Security 是一个提供身份认证、授权和防范常见攻击的安全权限框架。无论是对命令式&#xff0c;还是响应式web应用程序都完美支持&#xff0c;现在主要用作保护基于 Spring 框架的应用程序的事实标准。相对于shiro来说&#xff0c;SpringSecurity功能更加复杂而且更加强…...

虚拟网卡添加ip

1.虚拟机网卡添加 1.进入虚拟机设置添加网卡即网络适配器 2.配置文件修改 1.查看网卡是否添加成功 ip ad ifconfig 其中ens161就是我们新添加的设备同时这个ens161也是我们硬件名字 2.进入系统配置文件 cd /etc/sysconfig/network-scripts/#配置文件目录[rootlocalhost ne…...

Unity向量线性插值Lerp

inline glm::vec3 Lerp(glm::vec3 start, glm::vec3 end, float t){t glm::clamp(t, 0.0f, 1.0f);return (start*(1-t)end*t); }...

fatal: Could not read from remote repository. 解决方法

问题描述&#xff1a; Git : fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists。 解决方法&#xff1a; 当在网上尝试大量方法仍然失败的时候&#xff0c;不妨试试这个方法。 在 github 上&…...

postman查询单条数据Get方法,无任何输出,idea后端也没有任何数据和提示的解决方法

问题描述&#xff1a; 正常使用postman测试&#xff0c;输入内容没有错误&#xff0c;但是却没有任何消息 后端也是&#xff0c;没有任何消息&#xff1a; 解决方法&#xff1a; 问题的原因主要是因为postman&#xff1a; 我们只需要新建一个页面&#xff0c;把刚才的查询语…...

query怎么改写,才能实现高质量的知识问答系统

为了实现高质量的知识问答系统&#xff0c;query改写需要综合利用多种技术&#xff0c;确保改写后的查询更具语义性、准确性和完整性。以下是具体的步骤和方法&#xff1a; 1. 同义词和短语替换 步骤&#xff1a; 建立同义词库&#xff1a;使用现有的同义词词典或根据特定领…...

Python实战——轻松实现动态网页爬虫(附详细源码)

大家好&#xff0c;我是东眠的鱼&#xff0c;专注原创&#xff0c;致力于用浅显易懂的语言分享爬虫、数据分析及可视化等干货&#xff0c;希望人人都能学到新知识。<文末附带精品籽料哦&#xff0c;也可以和博主一起学Python呀&#xff01;> 项目背景 有同学自学爬虫时…...

Python应用—利用opencv实现图像匹配

1.创作需求 我们通常需要从一幅图中找到自己想要的信息,例如从一堆表情中找到,自己需要的表情。 2.创作思路 1.使用模板图片作为卷积核与原图进行卷积运算,得出匹配度超过某一阈值的范围。 2.对该部分进行框选 3.工具 主要使用opencv库实现,通过 cv2.matchTemplate(…...

Excel函数基础(二)

1、单元格名称 框选单元格&#xff08;不含标题&#xff09;&#xff0c;公式选项卡->定义名称&#xff0c; 或者框选单元格后&#xff0c;在左上角的栏位直接输入要定义的名字&#xff0c;按下enter键即可 这样在使用函数时&#xff0c;数据范围参数可以用定义的名称来替…...

学习大数据DAY30 python基础语法3

目录 上机练习 5 File(文件) 读写 文本文件写 文本文件读 csv 文件写 csv 文件读 异常 自定义异常 上机练习 6 上机练习 5 上机练习5的作业我昨天就写完了&#xff0c;但是因为它是今天的作业&#xff0c;我就今天发咯。 # atm 机模拟器&#xff1a;使用 main 入口&…...

一文弄清Java的四大引用及其两大传递

开场白 Hello大家好呀&#xff0c;我是CodeCodeBond✊最近在复习很多很多的基础知识&#xff0c;有了很多新的感悟~ 话不多说&#xff0c;直接发车✈ 四大引用 问题切入点 在学习 Thread线程利用ThreadLocalMap实现线程的本地内存&#xff08;变量副本&#xff09;的时候&…...

arduino程序-MC猜数字5、6(基础知识)

arduino程序-MC猜数字5、6&#xff08;基础知识&#xff09; 1-23 MC猜数字-5 自定义函数自定义函数自定义清理显示内容函数displayClear&#xff08;&#xff09;带参数函数displayNumber带参数、返回值的函数 1-24 MC猜数字-6 完成制作显示0~9数字函数改造产生随机数字函数改…...

【笔记】如何在ps里调整贴图

如图我想要在ps里把角上半部分画成绿色 1.打开ps&#xff0c;拖进贴图 2.把所有图层全选复制&#xff0c;除了实体、选择、背景和uv图层 3.把这些图层合并 4.自己手动选上半部分角 按shift加选 alt减选 5. 这里可以调整饱和度、色相、明度 6. 选好之后用羽化之后边缘会…...

【C++11】深度解析--异步操作(什么是异步?异步有那些操作?异步操作有什么用呢?)

目录 一、前言 二、什么是异步操作呢&#xff1f; &#x1f525;异步的概念&#x1f525; &#x1f525;异步的生活案例说明&#x1f525; 三、异步有那些操作呢&#xff1f; &#x1f525;std::future&#x1f525; &#x1f4a2;std::future 的概念&#x1f4a2; &a…...

PHP苹果 V X iPhone微商i o s多分开V X语音转发密友朋友圈一键跟圈软件

苹果VX神器&#xff01;iPhone微商必备&#xff1a;ios多开、VX语音转发、密友朋友圈一键跟圈软件大揭秘&#xff01; 一、iOS多开新境界&#xff0c;工作生活两不误&#xff01; 你是不是也烦恼过&#xff0c;想要在工作号和生活号之间自由切换&#xff0c;却因为iPhone的限制…...

LDR6020 iPad皮套一体式键盘充电方案解析

在移动办公与学习的浪潮中&#xff0c;iPad凭借其强大的性能与便携性&#xff0c;成为了越来越多人的首选设备。然而&#xff0c;随着工作与学习任务的日益复杂&#xff0c;单一的触控操作已难以满足高效、精准的需求。因此&#xff0c;搭配一款优秀的键盘成为了提升iPad使用体…...

一款功能强大且免费的跨平台图片批量处理工具

XnConvert是一款功能强大且免费的跨平台图片批量处理工具&#xff0c;广泛应用于个人用户、教育机构和非营利组织。它支持超过500种图片格式&#xff0c;包括常见的JPEG、PNG、TIFF、GIF、WebP、PSD、JPEG2000等&#xff0c;并能够导出为大约70种不同的文件格式。 该软件的主要…...

用Python打造精彩动画与视频,4.2 特效和滤镜的使用

第四章&#xff1a;深入MoviePy 4.2 特效和滤镜的使用 在视频制作和编辑过程中&#xff0c;特效和滤镜是不可或缺的元素。它们不仅能增强视觉效果&#xff0c;还能赋予视频独特的风格和情感。MoviePy 作为一个功能强大的视频编辑库&#xff0c;提供了多种内置的特效和滤镜&…...

在 iOS 系统中,如何设置才能更好地保护个人隐私?

在iOS系统中&#xff0c;有一些设置和功能可以帮助您更好地保护个人隐私。以下是一些建议&#xff1a; 使用设备锁&#xff1a;设置一个强密码、Touch ID或Face ID来锁定您的设备。这可以防止其他人访问您的设备和个人信息。 更新软件&#xff1a;及时更新您的iOS系统和应用程…...

Charles抓包工具系列文章(七)-- Rewrite工具的应用示例

一、背景 客户端通过域名访问后端服务,在api网关层,会判断path的前缀,默认/api开头的请求都转发至后端服务A。 当前缀是/assist/api开头,请求将转发至后端服务B(部署在192.168.80.226,便于测试对比) 在不改动kong网关配置的情况下,现需要把后者的请求转发至192.168.…...

AI自动化测试:从工具颠覆到价值重生

一、效率革命&#xff1a;AI如何重构测试工作流1. 用例生成的范式跃迁认知生成技术&#xff1a;基于LLM的需求解析引擎&#xff08;如Testim、Appvance&#xff09;将PRD转化为覆盖核心路径与异常流的测试矩阵。某电商平台实践显示&#xff0c;新功能测试用例生成效率提升20倍&…...

开源IT资产管理系统Snipe-IT:从混乱到有序的数字化转型之路

开源IT资产管理系统Snipe-IT&#xff1a;从混乱到有序的数字化转型之路 【免费下载链接】snipe-it A free open source IT asset/license management system 项目地址: https://gitcode.com/GitHub_Trending/sn/snipe-it 在企业数字化进程中&#xff0c;IT资产如同散落的…...

终极指南:如何使用Scan4all识别和规避蜜罐陷阱的完整教程

终极指南&#xff1a;如何使用Scan4all识别和规避蜜罐陷阱的完整教程 【免费下载链接】scan4all 项目地址: https://gitcode.com/gh_mirrors/sc/scan4all 蜜罐作为网络安全领域的重要防御手段&#xff0c;常被用来诱捕攻击者并收集威胁情报。对于安全测试人员和渗透测试…...

【TRO 26-cv-924】Canada Goose携手GBC重磅维权!超40名跨境卖家被诉,即将缺席审判!

导语&#xff1a;服饰、箱包类卖家紧急预警&#xff01; 国际知名羽绒服品牌Canada Goose Inc.&#xff08;加拿大鹅&#xff09;发起新一轮商标维权风暴&#xff01;案件号【26-cv-924】已在美国伊利诺伊州北区联邦法院正式立案。本次维权直指商标侵权与仿冒&#xff0c;超40家…...

实时目标检测开源模型DAMO-YOLO效果展示:小目标手机精准框选案例

实时目标检测开源模型DAMO-YOLO效果展示&#xff1a;小目标手机精准框选案例 1. 引言&#xff1a;当AI能看清你手中的手机 想象一下这个场景&#xff1a;在一张拥挤的咖啡厅照片里&#xff0c;桌面上散落着咖啡杯、笔记本、几本书&#xff0c;还有一部手机。你能一眼找到那部…...

企业智能体系统架构的团队管理:AI应用架构师的领导技巧

好的,请看我为您撰写的关于“企业智能体系统架构的团队管理:AI应用架构师的领导技巧”的技术博客。本文将遵循“知识金字塔构建者”的方法论,从基础概念到深层原理,再到实践整合,为您呈现一个全面而深入的视角。 企业智能体系统架构的团队管理:AI应用架构师的领导技巧 第…...

Llama-3.2V-11B-cot镜像免配置教程:改路径即启,5分钟完成部署

Llama-3.2V-11B-cot镜像免配置教程&#xff1a;改路径即启&#xff0c;5分钟完成部署 1. 项目简介 Llama-3.2V-11B-cot是一款基于Meta Llama-3.2V-11B-cot多模态大模型开发的高性能视觉推理工具。它针对双卡4090环境进行了深度优化&#xff0c;特别适合想要快速体验多模态大模…...

计算机毕业设计:基于爬虫与可视化的美食菜谱数据分析平台 Django框架 爬虫 机器学习 数据分析 可视化 食物 食品 菜谱(建议收藏)✅

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ > &#x1f345;想要获取完整文章或者源码&#xff0c;或者代做&#xff0c;拉到文章底部即可与…...

PredRNN: Enhancing Spatiotemporal Predictive Learning with ST-LSTM Memory Flow

1. 从天气预报到交通预测&#xff1a;为什么需要时空序列建模 想象一下每天早上查看天气预报的场景。气象局需要根据过去几天的卫星云图、气压数据&#xff0c;预测未来几小时是否会下雨。这类任务有个共同特点&#xff1a;输入和输出都是时空序列数据——既有空间维度&#xf…...

ISP图像处理实战:如何用EE模块让你的照片边缘更清晰(附Python代码)

ISP图像处理实战&#xff1a;如何用EE模块让你的照片边缘更清晰&#xff08;附Python代码&#xff09; 每次翻看手机相册&#xff0c;总有些照片让人皱眉——明明拍摄时觉得构图完美&#xff0c;回看却发现边缘模糊得像蒙了层薄雾。这种困扰其实源于图像信号处理&#xff08;IS…...