RuoYi-Vue-Plus 5.X登录前流程及解密

发布时间:2024年01月12日

一:问题

1. 前端传给后端的是一个加密字符串,后端controller层login接口怎么就直接解密了呢?

2. 中间经过什么步骤到达的登录接口呢?

二:个人分析

首先考虑的是拦截器、过滤器、切面AOP;

1. 使用全文搜索没有使用到AOP切面技术(可以使用前置通知进行搜索)

2. 去找拦截器(Interceptor),发现web的调用时间统计拦截器中对登录验证码、请求方式、请求路径进行了一些处理

还是没有看见对登录进行处理,没有解密

3. 考虑过滤器,全局搜索过滤器,可以找到 CryptoFilter 类,CryptoFilter类实现了Filter接口,发现这个类中的foFilter方法中对登录的数据进行解密,没错就是这个过滤器对前端加密的字符串进行了处理

三:解密流程逐步解析

1. 找到application.yml文件中有对数据权限以及接口权限加解密的配置

2. 根据接口权限标识去找对应的代码,操作:按住 Ctrl 鼠标点击headerFlag进去,会进入ApiDecryptProperties配置属性类;按住?Ctrl?继续点击类名ApiDecryptProperties,会出现有两个类引用到了配置属性类

3. 注意看我图中的流程,过滤器直接交给了Spring进行管理处理接口数据的加解密,总的流程就是前端——>Filter过滤器——>Interceptor拦截器——>Controller层

4. 后续的login流程大家通过Debug一步一步走就是了

文章来源:https://blog.csdn.net/m0_57385405/article/details/135545296
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。