IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 后台系统登录一般流程 -> 正文阅读

[开发测试]后台系统登录一般流程

登录整个流程
1.异步请求后端得到验证码(生成验证码的答案后存入redis,uuid作为key),验证码图片以base64的编码和uuid返回前端
2.根据用户名和密码、验证码值、uuid传递到后端,为了效率,先判断验证码值是否正确,正确的话,再根据用户名和密码去数据库进行匹配,匹配时,查询用户表、部门表、用户与角色的关联表、角色表获取当中的有用字段信息,再使用用户id去查询权限表、角色权限关联表、用户角色关联表、角色表(因其中功能涉及角色、权限状态)
返回权限标识如(system:role:edit多个的话用逗号隔开),获取到用户id,部门id,用户对象,权限list
3.更新用户表的中当前用户id更新登录ip和登录的时间
4.生成token值为新生成的uuid
5.根据封装好的对象加入userAgent(登录ip,登录地址,浏览器及操作系统),登录时间及过期时间
6.根据login_tokens:uuid将loginUser对象缓存到redis
7.map中放入login_user_key,value为uuid
8.使用jwt

</<dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt</artifactId>
                <version>0.9.1</version>
            </dependency>>

9.String token = Jwts.builder()
.setClaims(map)
.signWith(SignatureAlgorithm.HS512, secret(秘钥)).compact();
10.返回前端token和权限信息
11之后前端每次请求带上token,后端进行token解析进行验证token是否被篡改,如没有,则走后边逻辑,如有,抛出错误
备注:登录记录日志(如验证码过期,验证码错误,用户名/密码错误,用户被停用等,登录成功等)

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:45:17  更:2022-03-03 16:46:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:51:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码