Day28 第四周总结 & 项目整体收官笔记

一、第四周整体学习路线复盘

Day22 JWT 原理

  • 掌握 JWT 三段结构:Header / Payload / Signature
  • 理解无状态认证、优缺点、适用场景
  • 区分前端传输加密后端 BCrypt 存储哈希安全逻辑
  • 封装 JWT 工具类,学会生成 Token、解析 Token

Day23 登录 + 颁发 Token + 密码加密

  • 规范登录流程:只按账号查库,业务层校验密码
  • 引入 BCrypt 密码加盐哈希,替代弱哈希算法
  • 登录成功生成 JWT 返回前端
  • 学会 LoginVo 结合 AutoMapper 映射,额外补充 Token 字段

Day24 JWT 认证授权中间件

  • 分清认证 (你是谁)授权 (你能做什么)
  • Program 配置 JWT 全局认证中间件
  • 掌握 [Authorize] 登录鉴权、[AllowAnonymous] 匿名放行
  • 理解请求头 Bearer Token 鉴权流程、401 过期 / 非法拦截

Day25 RBAC 权限模型设计

  • 标准 RBAC 五表设计:User / Role / Menu / UserRole / RoleMenu
  • 掌握多对多关系:用户 - 角色、角色 - 菜单
  • 理清 RBAC 核心流程:用户 → 角色 → 菜单权限

Day26 角色管理模块

  • 角色完整 CRUD 接口
  • 角色分配菜单业务:先删原有关联、再新增,事务保证原子性
  • 新增 / 编辑唯一性校验、删除关联校验
  • 全程 DTO、VO、AutoMapper 规范分层

Day27 菜单管理 + 动态路由

  • 菜单 CRUD、递归构建菜单树形结构
  • 校验子菜单禁止直接删除
  • 核心接口:根据当前登录用户 → 角色 → 动态生成个人菜单树
  • 输出前端可直接使用的动态路由结构,适配后台侧边栏

Day28 第四周收官

  • 整合:登录、用户、角色、菜单、JWT 权限全套闭环
  • 项目已具备标准后台管理系统核心骨架
  • DDD 四层架构落地成型:API → Application → Domain → Infrastructure

二、目前已完成核心能力

  1. 整套 JWT 无状态登录认证
  2. BCrypt 密码加密存储,企业安全标准
  3. 完整 RBAC 权限体系(用户 - 角色 - 菜单)
  4. 用户模块 CRUD、登录、AutoMapper 映射规范
  5. 角色模块 CRUD、角色分配菜单、事务处理
  6. 菜单模块 CRUD、树形结构、用户专属动态路由
  7. 统一返回封装、DTO/VO 分层隔离、禁止暴露实体
  8. 仓储模式 + 工作单元 + EF Core 数据访问规范
  9. 接口鉴权、匿名接口、登录拦截 完整可用

三、项目架构现状(企业级成型)

  • 分层:DDD 四层架构 标准落地
  • 数据:EF Core + 泛型仓储 + 工作单元事务
  • 映射:AutoMapper + Profile 统一配置
  • 安全:HTTPS + JWT + BCrypt 密码加密
  • 权限:RBAC 用户 / 角色 / 菜单 完整权限链
  • 接口:RESTful 风格、统一返回、DTO 入参 VO 出参

现在这个项目,就是中小企业后台管理系统标准脚手架,可以直接作为简历项目、后续扩展功能。


四、高频面试复盘(本周必背)

  1. JWT 结构、无状态优缺点、为什么不能存敏感数据
  2. 登录为什么只按账号查库、密码业务层校验
  3. BCrypt 相比 SHA256 优势、自动加盐原理
  4. 认证和授权的区别
  5. RBAC 模型原理、五张表关系、多对多设计
  6. 角色分配菜单为什么要先删后加 + 事务
  7. 动态菜单实现思路:登录用户 → 角色 → 菜单 → 递归树形

五、后续可扩展方向(后续学习可选)

  1. 自定义权限特性 [RequirePermission("user:add")] 按钮级权限
  2. JWT 双 Token 无感刷新
  3. 全局异常统一处理、日志记录
  4. Swagger 高级配置、接口注释
  5. Redis 缓存菜单权限、提升性能
  6. 数据字典、部门管理、日志管理等扩展模块
相关推荐
LinXunFeng5 小时前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
闪闪发亮的小星星5 天前
高斯光以及高斯光公式解释
笔记
cqbzcsq5 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
阿米亚波5 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
自传.5 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding
.千余5 天前
【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南
开发语言·c++·笔记·学习·其他
自传.5 天前
尚硅谷 Vibe Coding|第二章 AI编程工具生态 学习笔记
笔记·学习·ai编程·尚硅谷·vibe coding
秋波。未央5 天前
Java Agent 开发 · Day 1 学习笔记(含作业完整标准答案)
java·笔记·学习
中屹指纹浏览器5 天前
2026指纹浏览器字体指纹、字体渲染偏差检测与全维度虚拟字体池搭建方案
经验分享·笔记