title: 若依の项目学习urlname: eb5gun
date: ‘2022-03-29 09:34:01’
tags: []
categories: [项目实操]

RuoYi-cloud 官方文档:
http://doc.ruoyi.vip/ruoyi-cloud/

一 目录结构学习

  • ruoyi-api:远程统一的服务接口

    • domain
    • factory
    • model 远端文件系统
    • RemoteFileService 远端文件服务
    • RemoteLogService 远端日志服务
    • RemoteUserService 远端用户服务
  • ruoyi-auth:权限认证

    • controller
    • form
    • service
    • RuoYiAuthApplication
  • ruoyi-common:公用工具类汇总,可以拿到其他项目中用

    • ruoyi-common-core:核心
    • ruoyi-common-datascope:数据权限
    • ruoyi-common-datasource:数据源
    • ruoyi-common-log:日志
    • ruoyi-common-security:手撸了一套权限
    • ruoyi-common-swagger:API 文档
  • ruoyi-gateway:网关
  • ruoyi-modules
  • rouyi-ui
  • ruoyi-visual

二 网关鉴权

验证码

若依の项目学习 - 图1在 ruoyi-gateway 中寻找/code 入口
若依の项目学习 - 图2
一步步推进:RouterFunctionConfiguration->validateCodeHandler->validateCodeServiceImpl
找到验证码相关逻辑代码
若依の项目学习 - 图3

登录

若依の项目学习 - 图4

若依の项目学习 - 图5
若依の项目学习 - 图6

三 路由拉取和用户信息

getRouters&getInfo

层层找到 vue 中的 permission.js,路由守卫(类似过滤器)
若依の项目学习 - 图7

四 认证和登出

认证

ruoyi-ui/src/utils/request.js,研究前端向后端发起请求
若依の项目学习 - 图8
在 Request 拦截器中找到前端带有认证的部分
若依の项目学习 - 图9

在后端中找认证的过滤器
若依の项目学习 - 图10

若依の项目学习 - 图11

登出

若依の项目学习 - 图12

五 前端和后端鉴权

前端:directive/permission/hasPermitions,hasRoles

后端:权限注解

六 文件和日志

若依の项目学习 - 图13