一、第四周整体学习路线复盘
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
二、目前已完成核心能力
- 整套 JWT 无状态登录认证
- BCrypt 密码加密存储,企业安全标准
- 完整 RBAC 权限体系(用户 - 角色 - 菜单)
- 用户模块 CRUD、登录、AutoMapper 映射规范
- 角色模块 CRUD、角色分配菜单、事务处理
- 菜单模块 CRUD、树形结构、用户专属动态路由
- 统一返回封装、DTO/VO 分层隔离、禁止暴露实体
- 仓储模式 + 工作单元 + EF Core 数据访问规范
- 接口鉴权、匿名接口、登录拦截 完整可用
三、项目架构现状(企业级成型)
- 分层:DDD 四层架构 标准落地
- 数据:EF Core + 泛型仓储 + 工作单元事务
- 映射:AutoMapper + Profile 统一配置
- 安全:HTTPS + JWT + BCrypt 密码加密
- 权限:RBAC 用户 / 角色 / 菜单 完整权限链
- 接口:RESTful 风格、统一返回、DTO 入参 VO 出参
现在这个项目,就是中小企业后台管理系统标准脚手架,可以直接作为简历项目、后续扩展功能。
四、高频面试复盘(本周必背)
- JWT 结构、无状态优缺点、为什么不能存敏感数据
- 登录为什么只按账号查库、密码业务层校验
- BCrypt 相比 SHA256 优势、自动加盐原理
- 认证和授权的区别
- RBAC 模型原理、五张表关系、多对多设计
- 角色分配菜单为什么要先删后加 + 事务
- 动态菜单实现思路:登录用户 → 角色 → 菜单 → 递归树形
五、后续可扩展方向(后续学习可选)
- 自定义权限特性
[RequirePermission("user:add")]按钮级权限 - JWT 双 Token 无感刷新
- 全局异常统一处理、日志记录
- Swagger 高级配置、接口注释
- Redis 缓存菜单权限、提升性能
- 数据字典、部门管理、日志管理等扩展模块