SpringBoot框架之KOB项目 - 配置Mysql与注册登录模块(中)

news2024/9/23 10:58:06

修改Spring Security

登录验证模式

传统的验证登录模式

在这里插入图片描述

  • 公开页面:输入url就可以直接访问
  • 授权页面:登录之后才可以访问

Jwt验证模式

  • 容易实现跨域
  • 不需要在服务器端存储

对比于传统模式将所有的sessionId换成jwt token
access token
refresh token

过程:通过一个login页面获取一个token,将其存入浏览器中,当访问授权页面的时候都会带上这个token,先验证这个token(包含userId)是否合法,根据userId到数据库中查询信息,提取到上下文中,访问授权的方法。
以上是原理,如何操作呢

  • 添加jwt依赖,官网搜索jwt 包括 jjwt-api jjwt-impl jjwt-jackson
  • 实现utils.JwtUtil类,为jwt工具,用来创建、解析Jwt token
    在这里插入图片描述

HTTP协议中的GET和POST是两种常用的请求方法,它们在Web开发中有着不同的用途和特点:

Post请求和Get请求

  1. GET请求

    • 用途:用于请求从服务器获取数据。通常用于查询字符串参数,如搜索或过滤数据。
    • 数据传输:数据通过URL传递,附加在请求的URL之后。
    • 安全性:由于数据在URL中可见,因此不安全,不应用于传输敏感信息。
    • 缓存:GET请求可以被缓存,这意味着相同的请求可以快速响应,提高效率。
    • 书签:可以被保存为书签。
    • 历史:可以在浏览器历史中保留。
    • 长度限制:URL长度有限制,因此GET请求传输的数据量有限。
  2. POST请求

    • 用途:用于向服务器提交数据,通常用于表单提交或上传文件。
    • 数据传输:数据在请求体(body)中传输,不在URL中。
    • 安全性:比GET更安全,因为数据不在URL中显示。
    • 缓存:POST请求不会被缓存。
    • 书签:不能被保存为书签。
    • 历史:不会在浏览器历史中保留。
    • 长度限制:没有长度限制,可以传输大量数据。

在选择使用GET还是POST时,通常考虑以下因素:

  • 如果需要获取数据,并且数据量不大,可以使用GET。
  • 如果需要向服务器提交数据,或者数据量较大,应该使用POST。
  • 对于敏感数据,应避免使用GET,因为它可能会在URL中暴露数据。

在实际开发中,还应考虑其他HTTP方法,如PUT(更新资源)、DELETE(删除资源)、PATCH(部分更新资源)等,根据具体需求选择合适的方法。

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

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

相关文章

如何在Chrome最新浏览器中调用ActiveX控件?

小编最近登陆工商银行网上银行,发现工商银行的个人网银网页,由于使用了ActiveX安全控件,导致不能用高版本Chrome浏览器打开,目前只有使用IE或基于IE内核的浏览器才能正常登录网上银行,而IE已经彻底停止更新了&#xff…

Tile View Kanban Board平铺视图和看板

Goto 数据网格和视图入门 平铺视图(TileView 类)将数据记录显示为平铺。此视图类型可以以任何自定义方式排列多个元素(bound 和 unbound)。用户可以按如下方式编辑瓦片: 使用模态 Edit Form。利用 HTML-CSS 平铺模板…

VScode配置连接远程服务器configure ssh Hosts

VScode配置连接远程服务器,具体步骤 一、点击VScode左下脚这两个∟的按钮 二、点击完上面的按钮后,出现如下的下拉选项,选择“Connect to Host” 三、选择“Connect to Host”后,下拉选项会更新,选择“Configure SSH …

openFrameworks_如何使用ofxXmlSettings和ofxGui来创建识别界面

效果图: 代码及详解 1.添加两个插件的头文件: #include "ofxGui.h" #include "ofxXmlSettings/src/ofxXmlSettings.h" 2.添加GUI部分,然后在.h声明右边的openframeworks的UI部分,包括面板ofxPanel,按钮ofx…

【JUC并发编程系列】深入理解Java并发机制:线程局部变量的奥秘与最佳实践(五、ThreadLocal原理、对象之间的引用)

文章目录 【JUC并发编程系列】深入理解Java并发机制:线程局部变量的奥秘与最佳实践(五、ThreadLocal原理、对象之间的引用)1. 基本 API 介绍2. 简单用法3. 应用场景4. Threadlocal与Synchronized区别5. 内存溢出和内存泄漏5.2 内存溢出 (Memory Overflow)5.2 内存泄…

如何融合文本信息提高时序预训练模型?

今天小编给大家介绍两篇联合文本和时序数据进行预训练的文章。 UniTime: A Language-Empowered Unified Model for Cross-Domain Time Series Forecasting 文献地址:https://arxiv.org/pdf/2310.09751.pdf 代码地址:https://github.com/liuxu77/UniTim…

【永磁同步电机(PMSM)】 4. 同步旋转坐标系仿真模型

【永磁同步电机(PMSM)】 4. 同步旋转坐标系仿真模型 1. Clarke 变换的模型与仿真1.1 Clarke 变换1.2 Clarke 变换的仿真模型 2. Park 变换的模型与仿真2.1 Park 变换2.2 Park 变换的仿真模型 3. Simscape标准库变换模块3.1 abc to Alpha-Beta-Zero 模块3…

【COMSOL】1-1 COMSOL6.2软件安装

1.解压COMSOL软件安装包,以管理员身份运行Setup.exe 2.选择简体中文,点击下一步,点击新安装。 3.选择许可证文件 4.自定义安装的位置 5.取消勾选更新,点击下一步 6.若已安装MATLAB则自动识别文件夹,若未安装空着即可&a…

Linux学习笔记(2)

Linux学习笔记(2) 知识点: 1.打包、压缩——是什么、为什么、怎么做? 什么是打包、压缩? 打包:把文件合并。 压缩:通过一定算法减少体积。 为什么要进行打包、压缩? 打包&…

花园管理系统

基于springbootvue实现的花园管理系统 (源码L文ppt)4-074 4功能结构 为了更好的去理清本系统整体思路,对该系统以结构图的形式表达出来,设计实现该“花开富贵”花园管理系统的功能结构图如下所示: 图4-1 系统总体结…

【LLM论文日更】| 俄罗斯套娃嵌入模型

论文:https://proceedings.neurips.cc/paper_files/paper/2022/file/c32319f4868da7613d78af9993100e42-Paper-Conference.pdf代码:GitHub - RAIVNLab/MRL: Code repository for the paper - "Matryoshka Representation Learning"机构&#x…

vue3ScrollSeamless滚动如何给子元素添加点击事件:事件委托

页面布局如上截图 下面是方法 function parentClick(e) {if (e.target.tagName A) {router.push({path: /noticeDetails,query: {id: e.target.dataset.eid}});} }使用的时候,可以打印一下方法里面的e,加深理解

Microsoft Edge 五个好用的插件

🐣个人主页 可惜已不在 🐤这篇在这个专栏 插件_可惜已不在的博客-CSDN博客 🐥有用的话就留下一个三连吧😼 目录 Microsoft Edge 一.安装游览器 ​编辑 二.找到插件商店 1.打开游览器后,点击右上角的设置&#…

【鸿蒙】HarmonyOS NEXT开发快速入门教程之ArkTS语法装饰器(下)

系列文章目录 【鸿蒙】HarmonyOS NEXT开发快速入门教程之ArkTS语法装饰器(上) 【鸿蒙】HarmonyOS NEXT开发快速入门教程之ArkTS语法装饰器(下) 文章目录 系列文章目录前言一、装饰器语法6.Builder语法:(1&…

室内北斗定位系统常用的几种定位方式

随着科技的不断进步,室内定位技术日益成熟,为人们的日常生活和工作带来了极大的便利。特别是在室内环境中,北斗卫星定位系统通过一系列创新技术,实现了高精度、高可靠的定位服务。接下来就由深圳沧穹科技给大家具体介绍室内北斗定…

OpenCL 学习(2)---- OpenCL Platform 和 Device

目录 OpenCL PlatformOpenCL Device参考代码 OpenCL Platform opencl 支持的 Platform 可以使用 clGetPlatformIDs 函数查询,函数原型如下: clGetPlatformIDs(cl_uint /* num_entries */,cl_platform_id * /* platforms */,cl_uint * …

解锁亚马逊测评自养号防关联新技术

解锁亚马逊测评自养号防关联的新技术主要包括以下几个方面,这些技术旨在提高测评过程的安全性,降低账号被关联的风险: 1. 独立纯净IP技术 独立纯净IP:采用独立、纯净且未受污染的国外IP地址,确保这些IP未被标记或列入…

CSS clip-path 属性的使用

今天记录一个css属性clip-path,首先介绍下这个属性。 clip-path 是CSS中的一个神奇属性,它能够让你像魔术师一样,对网页元素施展“裁剪魔法”——只展示元素的一部分,隐藏其余部分。想象一下,不用依赖图片编辑软件&am…

JavaWeb--纯小白笔记04:Tomcat整合IDEA

IDEA整合Tomcat 1.点击Idea的导航栏里的Run,选择Edit Configurations 2.点击左上角的"",向下翻找到Tomcat Server 选择里面的Local 3.创建一个web工程,点击IDEA的File-->new-->project 然后选择Java Enterprise,…

【网络安全】网络基础第一阶段——第一节:网络协议基础---- OSI与TCP/IP协议

从今天起,我们正式进入第二部分——网络基础。继续学习网络基础、网络协议等相关内容🌟🌟🌟 目录 一、OSI模型 1.1 分层思想 1.2 OSI参考模型 1.3 数据封装与解封装 1.3.1 数据的封装过程 1.3.2 数据的解封装过程 二、TCP/…