Commit Graph

10 Commits

Author SHA1 Message Date
Hanserwei
5c406b48f9 feat(context): 新增业务上下文组件并迁移相关功能
- 创建 `hanserwei-spring-boot-starter-biz-context` 模块,封装为starter供其余模块使用
- 迁移 `HeaderUserId2ContextFilter` 和 `LoginUserContextHolder` 到Starter
- 使用 `TransmittableThreadLocal` 替代普通 `ThreadLocal`
- 在 `han-note-auth` 中引入新的上下文组件依赖
- 调整包结构和日志输出格式
- 异步任务中验证上下文传递功能正常工作
2025-10-02 23:23:47 +08:00
Hanserwei
d448c524b7 feat(auth): 新增用户ID上下文过滤器及登出逻辑优化
- 新增 GlobalConstants 常量类定义 USER_ID 常量
- 新增 HeaderUserId2ContextFilter 过滤器从请求头获取用户 ID 并存入 ThreadLocal
- 新增 LoginUserContextHolder 工具类用于管理用户 ID 的 ThreadLocal 操作
-优化 UserController 的 logout 方法,移除手动传参 userId,改为从上下文获取
- 优化 UserServiceImpl 的 logout 方法实现,通过上下文获取用户 ID 完成登出
- 在 han-note-gateway 模块中添加 tomcat-embed-core依赖以支持相关功能
2025-10-02 22:27:49 +08:00
Hanserwei
3cc615d38a feat(auth): 实现用户退出登录功能
- 在网关过滤器中增加对未登录异常的处理
- 完善用户登出接口,调用 Sa-Token 的登出方法
- 新增 UserService 中的 logout 方法实现
- 优化获取用户 ID 的逻辑并增强异常处理
- 清理 Sa-Token 上下文避免内存泄漏
2025-10-02 22:05:32 +08:00
Hanserwei
4c6a08438a feat(gateway): 新增网关服务及权限认证功能
- 新增网关服务模块 han-note-gateway,包含基础配置和启动类
- 实现全局过滤器 AddUserId2HeaderFilter,自动将用户ID添加到请求头(目前有问题)
- 配置 Sa-Token 权限认证,支持 JWT 格式的 Token 解析和鉴权
- 新增全局异常处理器 GlobalExceptionHandler,统一处理未登录和权限不足异常
- 实现 StpInterfaceImpl 接口,从 Redis 获取用户角色和权限信息- 配置 RedisTemplate 支持 JSON 序列化,用于存储用户角色和权限数据
- 在 auth 服务中增加登出接口,支持用户退出登录(待完成)
- 引入 Nacos 配置中心和注册中心依赖,支持配置动态刷新和服务发现
- 更新 Redis Key 构造方式,使用 userId 和 roleKey 替代 email 和 roleId
- 新增告警模块,支持邮件和短信告警方式的配置与切换
-优化角色权限同步逻辑,使用角色 Key 替代角色 ID 存储权限信息
- 添加 bootstrap.yml 配置文件,支持从 Nacos 读取配置
2025-10-02 21:46:05 +08:00
Hanserwei
eb9f887ac3 feat(auth): 新增用户权限管理模块
- 新增权限、角色、用户角色关联等数据对象及Mapper
- 实现权限数据同步至Redis的功能
- 新增用户登录与注册接口,支持验证码登录
- 完善全局异常处理,增加对Guava参数校验异常的捕获
- 修改用户DO字段类型,使用LocalDate与LocalDateTime替代Date
- 新增删除状态枚举类DeletedEnum和状态枚举类StatusEnum
- 调整响应码结构,区分邮件相关错误码
- 新增RedisKeyConstants中关于用户角色与角色权限的KEY构建方法
- 新增RoleConstants定义普通用户角色ID常量
2025-10-01 20:50:36 +08:00
Hanserwei
32562dbb67 han-note项目初始化完毕!
- 邮箱授权码泄露修复
2025-10-01 10:54:51 +08:00
Hanserwei
d2c76be3b8 han-note项目初始化完毕!
- 注册登录接口,开发40%
2025-09-30 16:48:48 +08:00
Hanserwei
96de704258 han-note项目初始化完毕!
- 自定义邮箱校验注解
2025-09-30 15:58:36 +08:00
Hanserwei
765a1a7e4f han-note项目初始化完毕!
- 邮箱验证码接口完成
2025-09-30 15:36:31 +08:00
Hanserwei
fe12d54c92 han-note项目初始化完毕!
- 整合完毕MyBatis-Plus
- 整合Druid数据库链接池
- 自定义两个Starter,业务日志打印Starter和自定义Jackson配置类,支持Java8的LocalTime等API
- 整合 flatten-maven-plugin 插件:解决子模块单独打包失败问题
2025-09-28 14:42:39 +08:00