2.用户登录流程

embedded/2025/1/19 20:21:50/

用户登录流程

1)前端发送获取验证码请求

在这里插入图片描述

2)后端生成验证码,同时将生成的内容分成两个部分,一个是image,一个是code,例如 image里记录 1+ 1 = ?,code里记录2
在这里插入图片描述

3)后端为image 生成一个uuid,并写入redis,key为uuid,value为code,同时设置redis过期时间,也就是前端如果在指定时间内没有完成登录表单提交,则会提示验证码过期。
在这里插入图片描述

4)后端将image 和 uuid发送给前端,前端展示image图片
5)前端用户填写登录表单,点击提交。提交到后台的数据结构如下:
在这里插入图片描述
6)验证码核对,通过uuid 从redis获取code值,与用户传入的比较
在这里插入图片描述7)下面的代码让人云里雾里了,下面的代码用到了spring框架内容。
在这里插入图片描述
上面这段代码会调用UserDetailsServiceloadUserByUsername方法。
该方法会与数据库的用户名、密码进行比对,注意密码是要进行hash计算 + 盐 后与数据库比较
在这里插入图片描述
8)后端验证完毕后,生成token发送给前端,token的生成是调用jwt库进行随机生成。
在这里插入图片描述

9)前端将token记录到cookies
在这里插入图片描述
至此 用户登录过程已完成,整个过程比较简单,除了刚才用到spring的认证框架,逻辑上有些跳转。


http://www.ppmy.cn/embedded/155307.html

相关文章

React+Cesium基础教程(001):创建基于React的Cesium项目及对Cesium进行基本配置

文章目录 01-基于react的cesium项目创建基于React的Cesium项目Cesium基本配置设置默认启动视角完整项目下载地址01-基于react的cesium项目 创建基于React的Cesium项目 创建react项目: create-react-app react-cesium-basic安装[cesium1.93.0]版本: npm install cesium@1.…

“深入浅出”系列之FFmpeg:(3)音视频开发的学习路线和必备知识

一、岗位要求 音视频开发属于我自己想要学习的板块,我想知道公司招聘音视频开发工程师所需要的条件,于是我就从招聘网站上找来了几个有关音视频开发的岗位需求,内容仅供参考: (1)算法工程师-视频编解码 …

opengauss数据库的日常运维操作

主从切换 1.1 在从节点执行如下命令 gs_ctl switchover -D /opt/huawei/install/data/dn cm_ctl switchover -n 1 -D /opt/huawei/install/data/dn1.2 查看集群状态 gs_om -t status –detail1.3 如果主节点宕机,可以使用如下命令进行failover gs_ctl failover …

二十三种设计模式-代理模式

一、定义与核心思想 代理模式是一种结构型设计模式,其核心思想是提供一个代理对象,用以控制对实际对象的访问。通过代理对象,可以在不改变实际对象的情况下,添加各种功能,如权限控制、懒加载、缓存、远程调用等。 二…

【大数据2025】Hadoop 万字讲解

文章目录 一、大数据通识大数据诞生背景与基本概念大数据技术定义与特征大数据生态架构概述数据存储数据计算与易用性框架分布式协调服务和任务调度组件数仓架构流处理架构 二、HDFSHDFS 原理总结一、系统架构二、存储机制三、数据写入流程四、心跳机制与集群管理 安全模式&…

Redis与MySQL主从复制原理解析

目录 1. 介绍2. Mysql主从复制的工作原理3. Mysql复制的类型3.1 基于语句的复制(Statement-based Replication, SBR)3.2 基于行的复制(Row-based Replication, RBR)3.3 混合复制(Mixed Replication) 4. Red…

「刘一哥GIS」系列专栏《GRASS GIS零基础入门实验教程(配套案例数据)》专栏上线了

「刘一哥GIS」系列专栏《GRASS GIS零基础入门实验教程》全新上线了,欢迎广大GISer朋友关注,一起探索GIS奥秘,分享GIS价值! 本专栏以实战案例的形式,深入浅出地介绍了GRASS GIS的基本使用方法,用一个个实例讲…

2.C++的变量,输入,输出

C的变量,输入,输出 同其它编程语言一样,C程序要想与用户进行交互,必须有输出,输入,还有存储数据的变量。接下来我们一起来看看在C中如何进行输入输出,以及变量的存储吧。 输出 在编程业界有个…