若依源码分析(二)-登录流程源码分析

news2024/11/25 2:31:29

若依源码分析(二)-登录流程源码分析

本章节主要分析若依源码登录流程,一步一步走断点查看进入首页的全流程登录信息

1. 前台发起登录请求

http://127.0.0.1/dev-api/auth/login
//auth表明这个请求走的是服务名称为auth的服务

在这里插入图片描述

2. 后台处理流程

2.1 根据请求http://127.0.0.1/dev-api/auth/login,可以看出请求走的是服务名称为auth的服务
2.2 去看网关配置中,auth服务配置的自定义局部过滤器链,gateway模块下配置了2个全局过滤器AuthFilter,XssFilter
2.3 过滤器链配置了2个局部过滤器,CacheRequestFilter(缓存请求过滤器),ValidateCodeFilter(验证码校验过滤器)
2.4 所以/login请求进来,会依次进入order最小的过滤器,一次顺序是AuthFilter,XssFilter,ValidateCodeFilter,CacheRequestFilter这4个过滤器
gateway配置
2.5 AuthFilter :主要逻辑是:
1) 判断是否是白名单路径,是的话,放行
2)不是白名单路径,进行token验证
2.6 XssFilter 解决跨域
2.7 ValidateCodeFilter过滤器主要用来: 校验验证码的,验证校验通过放行,不通过抛出异常。
2.8 CacheRequestFilter过滤器主要来解决请求body的流不能重复读取问题,可暂不理会。
2.9 因为/login是白名单路径,放行,进入login方法内
在这里插入图片描述
2.10 在login方法内执行逻辑:
1)判断用户名和密码是否非空
2)判断用户是否存在,并获取DB中用户信息userinfo
3)判断密码是否正确
4)不通过校验抛异常,通过进行下一次生成token
5)生成token并存储再redis中有效期半个小时
6)并根据(2)中useruInfo填充登录用户信息
7)并返回令牌给前台
8)前台拿到token信息,存到cookie,并发起获取用户权限信息的请求http://127.0.0.1/dev-api/system/user/getInfo。并把token信息存储到请求头中Authorization
9)后台收到请求,走全局过滤器AuthFilter
10)/getInfo不是白名单中的路径,所以需要校验token正确性
11)token验证正确,获取个人信息,返给前台,然后前台再进行获取菜单路由请求 http://127.0.0.1/dev-api/system/menu/getRouters
12)后台收到请求,走全局过滤器AuthFilter ,token验证通过,走/getRouters方法,返回给权限内的路由,前台进行路由渲染,并打开首页路由,自此登录完成,进入首页
图1 生成token
在这里插入图片描述

图2,redis存储的token
在这里插入图片描述
图3 network返回的token信息
在这里插入图片描述
图4 请求头中的token信息
在这里插入图片描述
图5 验证token
在这里插入图片描述图6 获取菜单路由

在这里插入图片描述

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

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

相关文章

【虚幻引擎】UE4像素流推送PixelStreaming

一、前言 虚幻引擎像素流送(Pixel Streaming)允许你从任何有屏幕的联网设备(例如计算机,手机,平板电脑等)播放虚幻项目。在这个教程里,我们将学习如何激活虚幻引擎的像素流送并从任何Web浏览器控…

年尾结款,如何应对客户新的需求风险?

1、进行需求变更管理流程 需要提前建立需求基线,需求基线是需求变更的依据,并制定双方皆认可的需求变更流程。 在前期与用户签订合同时,可以增加一些相关条款,如限定用户提出需求变更的时间,规定何种情况的变更可以接受…

日期和时间的API

一、JDK8之前的日期和时间的API 1.System类中的currentTimeMillis() 返回当前时间与1970年1月1日0分0秒之间以毫秒为单位的时间差,称为时间戳 2.Java.util.Date类 |---java.sql.Date类 1.两个构造器的使用 >构造器一: Date(): 创建一个对应当前时间的Date对象…

CVE-2022-08475-DirtyPipe

前言CVE-2022-0847 DirtyPipe脏管道漏洞是Linux内核中的一个漏洞,该漏洞允许写只读文件,从而导致提权。调试环境• ubuntu 20.04• Linux-5.16.10• qemu-system-x86_64 4.2.1漏洞验证首先创建一个只读文件foo.txt,并且正常情况下是无法修改该…

2022年「博客之星」参赛博主:黛琳ghz

我正在参加年度博客之星评选,请大家帮我投票打分,您的每一分都是对我的支持与鼓励。五星必回,诚信互评,(如果)今日已满,明天必回,言出必行,感谢支持! 我正在…

Protobuf:python版使用

目录 Protobuf详解 Python使用方式 下载protoc 编写.proto协议文件 编译Protocol buffer 存储/读取数据测试 Protobuf详解 深入 ProtoBuf - 简介 - 简书 (jianshu.com)[索引]文章索引 - 简书 (jianshu.com) Protobuf3语法详解 - 望星辰大海 - 博客园 (cnblogs.com) Pyth…

联芸科技冲刺科创板上市:业绩表现不稳定,实控人方小玲为美国籍

12月28日,联芸科技(杭州)股份有限公司(下称“联芸科技”)在上海证券交易所递交招股书,准备在科创板上市。 本次冲刺上市,联芸科技计划募资20.50亿元,其中4.66亿元用于新一代数据存储…

prophet模块学习总结-20221228

prophet模块的基本介绍及相关用法说明。 文章目录1.基本介绍Prophet包的特点2.Prophet 模型介绍2.1 长期趋势模型2.2 The Seasonality Function(季节函数)2.3 The Holiday/Event Function(节日函数)3.使用示例3.1 快速开始3.2 调节…

MetersPhere自动化解决用户登录问题+添加钉钉机器人

MetersPhere自动化解决用户登录问题添加钉钉机器人 现在遇到的问题,做自动化的时候几乎每个接口都需要token,这个token是登录获取的,那我有很多个自动化的场景,如果我每一个场景都加入登录接口,同时执行很多场景的时候…

骨传导耳机有用吗,最好用的骨传导耳机分享

骨传导耳机有没有用这个问题,主要还是看自己需要骨传导耳机的根本需求是什么,骨传导耳机更多的使用场景是在户外运动,但是日常才室内使用或者长时间使用的耳机爱好者,骨传导耳机也能在一定程度上保护听力,下面就分享五…

浅聊OpenHarmony

接触OpenHarmony快一年了,这里简单总结下自己对OpenHarmony的理解,如果有不对的地方,欢迎来讨论。OpenHarmony是什么?了解这个之前我们可以先来看看什么是开源? 一、开源是什么? 开源简单来讲&#xff0c…

阿里云视频点播资源迁移及回溯校验

阿里云视频点播资源迁移及回溯校验一:准备环境1.1、搭建springboot1.2、引入外部包二:表与配置2.1、拉取视频点播文件2.2、建表2.3、yml配置文件三:代码3.1、XML3.2、entity3.3、mapper3.4、Synchronize3.5、视频迁移Controller3.6、视频回溯…

Fedora初始化 | python在Fedora中的初始化搭建

本来是想玩一下ArticlePairMatching-master,结果需要graph-tool工具,这哥们需要c等环境,无法在window中直接安装。 望着不堪重负的win系统,还是安了一个全新的Fedora虚拟机作为实验环境吧。 1. 使用VMWare安装Fedora Fedora的图形…

户外徒步戴什么耳机比较好、最适合户外运动的五款耳机推荐

现在人们对自己的身体状态越来越重视了,无论是怎样的生活,一个健康的身体非常重要,近几年的运动健身热潮的兴起,能看出来人们会花更多的时间去锻炼自己的身体了,与之而来的就是各种健身、运动的蓝牙耳机不断的推陈出新…

2022餐馆设计最新十大排行榜(附餐馆设计案例图片)

随着生活水平的提升,人们对于用餐的环境要求越来越高,对于餐馆设计的要求随之提高,因此在装修时,很多餐饮老板想找一家实力强的餐厅设计公司,那么国内的餐饮设计公司数量庞大,有哪些擅长餐饮设计呢&#xf…

android生成javadoc

生成步骤 菜单 Tools -> Generate JavaDoc! 问题: 1.JavaDoc导出时出现乱码报错 错误: 编码GBK的不可映射字符 菜单 Tools -> Generate JavaDoc,弹出配置面板 在Other command line arguments 栏输入:-encoding utf-8 -charset utf-8 2.提示 程序…

C/S快速开发框架源码 winform快速开发框架源码

C/S系统开发框架源码 C#快速开发框架源码(CS版)00683 源码分享,需要源码学习可私信我。 系统功能: 该框架采用逻辑上的三层模式开发业务处理和数据处理完全分开,采用C#语言和MSSQL进行开发,主要实现了菜…

微信小程序 会议OA项目-其它页面04

目录 1.会议管理 1.1 自定义tabs组件 1.2 会议管理 2.投票管理 3.个人中心 1.会议管理 1.1 自定义tabs组件 文档参考:自定义组件 | 微信开放文档微信开发者平台文档https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/ 新建一个文件夹&#xff1…

尚医通-数据字典-EasyExcel-导入 导出(十四)

目录: (1)EasyExcel-写操作 (2)EasyExcel-读操作 (3)后台系统-数据字典-导出 (4) 后台系统-数据字典-导入 (1)EasyExcel-写操作 往数据字典里…

家用摄像头选择(户内外)

不知道摄像头怎么选?看下面几篇就够了。 1、户外监控摄像头,哪个品牌的比较好? - 知乎 2、【室外篇】家用监控摄像头选购要素及不同场景下高性价比监控摄像头推荐 - 知乎 3、家用摄像头选什么牌子的好? - 知乎 优先选焦距 IP防水防尘&…