笔记——了解项目RuoYi-Cloud-Plus是怎么使用Sa-Token,实现登录认证相关逻辑

1、概述

最近在学习码云上的项目RuoYi-Cloud-Plus,通过观看代码确定它是如何把Sa-Token集成到SpringCloud上的。

主要涉及到ruoyi-auth,ruoyi-gateway,ruoyi-system三个服务,主要用到了ruoyi-common-redis,ruoyi-common-satoken,ruoyi-common-security三个公共子模块。

2、服务与公用模块介绍

ruoyi-auth服务主要有获取验证码、登录、注册等接口;ruoyi-gateway是网关,把http请求转发给其它服务;ruoyi-system服务包含基本系统管理等接口。

ruoyi-common-redis模块主要是配置redis,提供RedisUtils等工具类;ruoyi-common-satoken模块主要对Sa-Token进行配置,提供LoginHelper类;ruoyi-common-security设置Sa-Token拦截器,被服务uoyi-auth,ruoyi-system使用,使得不能直接通过服务的IP地址和端口号访问除ruoyi-gateway外的其它服务,而必须通过ruoyi-gateway网关访问服务。

2、依赖

微服务ruoyi-auth,ruoyi-system用到了依赖cn.dev33:sa-token-spring-boot3-starter,ruoyi-gateway用到了依赖cn.dev33:sa-token-reactor-spring-boot3-starter。

此外,ruoyi-gateway还设置了过滤器SaReactorFilter和ForwardAuthFilter,SaReactorFilter主要设置网关对哪些请求进行认证判断,ForwardAuthFilter对网关处理过的请求打上一个标志。

3、大致登录认证逻辑

前端通过ruoyi-gateway网关调用ruoyi-auth服务的登录接口进行登录,ruoyi-auth服务远程调用ruoyi-system服务用户相关接口进行验证,通过后返回token。

前端接收到token后,会在后续请求的头部附上token信息。ruoyi-gateway网关接收到后续其它请求后,会对token进行验证,验证通过后,再转发给其它服务。其它服务收到请求后,会再对请求进行验证,判断是否处理。

4、总结

本文大致说明RuoYi-Cloud-Plus对token的相关处理,忽略了对Clientid的处理,也忽略了许多细节,具体可去查看RuoYi-Cloud-Plus的源码。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值