RuoYi 后端登录流程

今天来解析一下若依登录时的总体流程(我是渣渣,找了大佬的博客学习才大致搞懂)

这里先贴上参考学习的链接,以我的水平看来是很通俗易懂的:【精选】若依框架后端登录流程_若依框架登录流程_@红@旗下的小兵的博客-CSDN博客

验证码:

首先用户进入登录页,需要获取验证码,此时向后端/captchalmage接口请求获取验证码

之后进入下一个流程


登录

此时,用户在网页输入账号密码等信息后点击登录,前端将数据作为参数传给后端,之后后端判断验证码正误、用户是否存在、用户权限等,并记录用户的信息,更新用户登录的IP、时间等,之后生成token,返回给前端。

详细流程

登录接口 /login

这里用到的login方法如下:

之后会对传回的账号和密码进行验证

图中所调用的UserDetailServiceImpl.loadUserByUsername(String username) 方法如下:

之后根据username查询数据库,判断用户状态:

用户存在,则调用createLoginUser() 方法来返回LoginUser类:

上图用到的getMenuPermission()方法:

之后查询用户信息,填充入LoginUser中:

之后,打印日志,更新用户登录的IP、日期:

最后生成token,返回给前端

获取用户信息

这里会对角色和权限进行查询(根据用户id):

上图用到的角色查询getRolePermission() 与权限查询getMenuPermission():

没问题的话,会直接把结果返回给前端,前端会把相关信息存到vuex中

获取路由和按钮信息

用户信息请求成功后,会在成功的回调中请求路由、按钮的相关信息

对应接口:/getRouters

首先根据userid获取菜单树:

上图中getChildPerms()方法会构建父子关系

最后,构筑前端需要的路由树:

到这里登录的整体流程就已经结束了

之后是退出登录:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热爱搞事的咕咕鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值