首页 > 其他分享 >[RuoYi二次开发]对RuoYi登录和退出进行解读

[RuoYi二次开发]对RuoYi登录和退出进行解读

时间:2024-11-11 20:45:05浏览次数:3  
标签:用户 登录 前端 RuoYi 验证码 Token 二次开发 生成

 

目录

一、前言

二、登录

 2.1生成验证码

 前端

后端 

 2.2 登录的具体流程

前端:

后端:

生成Token返回给前端

校验验证码

用户验证

生成Token

三、进入首页

前端:

后端:

四、退出登录

前端:

后端:

五、总结


一、前言

由于最近做项目需要基于若依框架(前后端分离版)二次开发,这里简单记录一下若依框架源代码登录和退出的过程,供自己复习时使用,也希望能够给想学习若依框架的朋友一点启发!

二、登录

 2.1生成验证码

基本思路:

后端生成一个表达式,例如 1+1 = 2

(1 + 1 = ?)转化为题干@(2)转化为答案

1 + 1 = ?转换成图片,传给前端进行展示

2答案存入Redis中

 前端

验证码答案会暂时存储在本地Radis中,在使用的时候会取出进行验证。

验证码图片获取方法

 本地uid对应Radis中的key值,用来取出答案

 url请求前端,进行代理,映射到后端,解决了跨域问题

 替换/dev-api 为‘’ 再映射到 http://localhost:8080

后端 

生成验证码代码

将表达式转化为图片流

将图片和uuid一起 传回给ajax.

 2.2 登录的具体流程

前端:

登录代码

保存Token到cookie

后端:

生成Token返回给前端

  • 校验验证码

  • 用户验证

用户验证使用的是Spring Security

  • 生成Token

 Token生成方法

使用jwt对信息进行处理,生成字符串 赋值给token

三、进入首页

前端:

登录成功后进入首页,前端会将后端返回的 Token 存储起来

可以在浏览器的 localStoragesessionStorage 中查看存储的token

前端会在用户登录成功后立即请求用户信息和角色权限

前端根据后端返回的菜单权限动态生成路由。

前端会在用户登录成功后初始化用户信息。

后端:

后端接收到前端的请求后,首先需要验证 Token 的有效性。

后端根据 Token 获取用户的详细信息和菜单权限,并返回给前端。

四、退出登录

前端:

用户在前端界面上点击“退出登录”按钮。前端通过 AJAX 请求向后端发送退出登录请求。

无论后端返回的结果如何,前端都需要清除本地存储的 Token 和其他登录信息,并重定向到登录页面。

后端:

后端控制器接收到前端发送的退出登录请求。后端服务层处理退出登录请求,使 Token 失效。

返回成功响应给前端。

五、总结

以上是关于Ruoyi Vue 登录功能后端代码调用流程。包括了登录,进入首页和退出登录,该ruoyi版本为3.8.2.其他版本可能会存在一些差异

标签:用户,登录,前端,RuoYi,验证码,Token,二次开发,生成
From: https://blog.csdn.net/asd2022714/article/details/143664377

相关文章

  • 渗透测试中登录框骚操作总结(非常详细)零基础入门到精通,收藏这一篇就够了
    由于测试过程中很多系统我们能接触到的只有一个登陆界面,所以要充分挖掘漏洞,进行深入操作登录注册万能密码绕过登录存在SQL注入的情况下,有可能使用万能密码直接登录admin'or'1'='1'--``admin'OR4=4/*``"or"a"="a``'or''='``'or1=1--有超级多登录口SQL......
  • 解决远程桌面连接“为安全考虑,已锁定该用户帐户,原因是登录尝试或密码更改尝试过多”问
    阿里云服务器,操作系统WinowsServer2022,最近老是提示这个:后来发现是组策略问题,这时其实已经没办法远程到服务器了,只能通过ECS的VNC连接,解决办法如下:1、通过VNC连接2、连接到服务器3、打开组策略4、依次选择:计算机配置→Windows设置→安全设置→帐户策略→帐户锁定策略......
  • 开源 PHP 商城项目 CRMEB 二次开发和部署教程
    上篇文章给大家介绍了如何使用Sealos应用商店一键部署CRMEB开源商城系统,那速度真叫一个快啊,比宝塔快多了!但是有些读者还不满足于此,问我能不能边运行边改代码,而且还得用Cursor来改代码,改完了之后线上环境还得实时生效。。。对此我只能说,你小子是不是看上Cursor的牛马属性......
  • qt ui设计案例--登录界面
    登录界面要实现这个界面就非常简单了,准备一张图片就行。lable样式:QLabel{ border-image:url(":/nxd.jpg"); background-position:center; min-width:100px;min-height:100px;border-radius:50px; }搞一个圆背景贴一张图片就行在登录与头像之间随便贴点......
  • SQL练习题之统计连续登录七天的用户(开窗实现)
    4.(困难)统计连续登录七天(含七天)以上的用户(开窗和不开窗都要求实现)。SQL文件:user_sign.sql实现思路:#对日期排序,并用denserank开窗排序#对排序编号或日期的天去重,排除一天登录两次的情况#让日期与排序序号做差,如若连续,则差会相等#分组计数相同的差值#差值相等的大于等于......
  • 【Steam登录】protobuf协议逆向
    https://api.steampowered.com/IAuthenticationService/GetPasswordRSAPublicKey/v1搜索input_protobuf_encoded定位input_protobuf_encoded的值就是os=r.SerializeBody()o=i.iI(s)精准定位打上条件断点:t==‘Authentication.GetPasswordRSAPublicKey#1’......
  • 032集——圆转多段线(Circle to Polyline)(CAD—C#二次开发入门)
     CAD中圆可转为带有凸度的多段线以方便后期数据计算、处理,效果如下:白色为圆,红色为转换后的多段线(为区分,已手工偏移多段线)publicstaticvoidXX(){varcurves=Z.db.SelectEntities<Entity>();foreach(varitemincurves){if......
  • 包含注册登录界面的单链表学生管理系统
    1、使用fscanf和fprintf实现登录注册界面,登录成功显示学生管理系统菜单界面。2、学生信息结构体(学号,姓名,年龄)3、界面功能包含:录入学生信息,输出学生信息,任意位置删除学生信息,任意位置插入学生信息,任意位置修改学生信息,任意位置查找学生信息,表头插入一个学生,表尾插入一个学生信......
  • 031集——获取外轮廓(只支持线段多段线)(CAD—C#二次开发入门)
    此版本跟007集相比,增加了个识别断线头的功能,即原始图形中线段可不闭合。usingAutodesk.AutoCAD.DatabaseServices;usingAutodesk.AutoCAD.Geometry;usingSystem;usingSystem.Collections.Generic;usingSystem.Diagnostics;usingSystem.Linq;usingSystem.Text;u......
  • python 模拟登录问题
    `#模拟古诗文网的登录importrequestsfromdatetimeimportdatetimefromlxmlimportetreeimportbase64importtimelogin_url='https://so.gushiwen.cn/user/login.aspx?from=http://so.gushiwen.cn/user/collect.aspx'requestLoginUrl=r"https://so.gus......