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. 数据字典、部门管理、日志管理等扩展模块
相关推荐
露临霜1 小时前
人性的贪婪和妄念
笔记
谙弆悕博士1 小时前
Lua学习笔记
c语言·开发语言·笔记·学习·lua·创业创新·业界资讯
xqqxqxxq1 小时前
多线程、进程与JVM 技术笔记
jvm·笔记
万古长歌2 小时前
CSDN年度技术趋势预测
笔记
Jul1en_2 小时前
【SpringCloud】Eureka、Nacos 简单概念笔记
笔记·spring cloud·eureka
LuminousCPP2 小时前
C 语言动态内存管理全解析:从基础函数到柔性数组与内存分区
c语言·经验分享·笔记·学习·柔性数组
d111111111d2 小时前
MQTT+STM32+ESP8266网络程序分层+韦老师
笔记·stm32·单片机·嵌入式硬件·学习·php
得闲喝茶3 小时前
SQL处理数据的常用语法语句
数据库·笔记·sql·数据分析·excel
糖炒栗子03263 小时前
最小二乘优化笔记:从损失函数、正则项到 BA / 图优化
人工智能·笔记·机器学习