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
二 网关鉴权
验证码
在 ruoyi-gateway 中寻找/code 入口

一步步推进:RouterFunctionConfiguration->validateCodeHandler->validateCodeServiceImpl
找到验证码相关逻辑代码

登录



三 路由拉取和用户信息
getRouters&getInfo
层层找到 vue 中的 permission.js,路由守卫(类似过滤器)

四 认证和登出
认证
ruoyi-ui/src/utils/request.js,研究前端向后端发起请求

在 Request 拦截器中找到前端带有认证的部分

在后端中找认证的过滤器


登出
五 前端和后端鉴权
前端:directive/permission/hasPermitions,hasRoles
后端:权限注解
六 文件和日志

