|
c00d979e91
|
RBAC 优化 (#18)
* refactor(common): 整理拦截器配置和JWT拦截器实现
* feat(auth): 将权限信息使用注解的形式固定在接口上
* feat(rbac): stash
* fix(GlobalException): 在ServiceException处理中添加日志记录
在全局异常处理器中为ServiceException添加错误日志记录,以提高错误跟踪的可观察性。现在,当捕获到ServiceException时,将记录错误消息。
更改包含:
- 导入lombok.extern.slf4j.Slf4j注解以启用日志记录功能。
- 使用@Slf4j注解GlobalException类。- 在ServiceException的@ExceptionHandler方法中添加日志记录语句。
* feat(auth): 实现RBAC,调整JWT验证,更新用户服务和控制器
* 为所有接口添加权限注解
* 删除没有必要的接口
* 删除过期的测试
* refactor(entity): 使用MyBatis-Plus和AutoTable注解重新定义主键和注释
- 重构`Role`, `RolePermission`, `User`, 和`UserRole`实体类,统一使用`@ColumnId`注解代替`@TableId`,并为各实体类的字段添加了相应的注释。- 为`Role`实体类的`roleId`和`roleName`字段,`RolePermission`的`roleId`和`permissionId`字段,`User`实体类的`studentId`, `username`, `password`, `email`, `grade`, 和`userGroup`字段,以及`UserRole`的`userId`和`roleId`字段添加了`@ColumnNotNull`注解,以强化字段的非空约束。
* refactor(jwt-interceptor):精简无效的JWT,提高检查效率
调整JwtInterceptor以精简无效的JWT检查逻辑。实现对JWT效验和用户ID提取的优化,避免不必要的数据库查询。refactor(role): 使用自定义注解替换MyBatis Plus注解并移除冗余字段
通过自定义注解替换MyBatis Plus注解,以整理和优化实体类定义。删除了Role类中的冗余字段,如'tag',以及未使用的imports。
refactor(user-service): 使用ModelMapper简化对象映射,重构注册逻辑引入ModelMapper以简化User对象和DTO之间的映射操作。重构UserService中的用户注册逻辑,使用ModelMapper进行对象转换,减少手动设置属性的需求。
fix(user-controller):调整用户注册请求参数,统一数据类型
调整UserController中的注册请求参数,将'studentId'和'userGroup'的类型与现有代码库保持一致,以便正确进行参数传递和处理。
feat(user-service): 实现rbacService集成,增强用户注册流程
在UserService中集成rbacService,以在用户注册时为新用户分配默认角色。优化了用户注册流程,并简化了权限和角色的管理。
BREAKING CHANGE: 对UserRole逻辑的改动可能会影响现有的用户权限和角色分配。请确保在更新代码后进行
* 修复测试配置
|
2024-08-25 01:42:40 +08:00 |
|
tortoise014
|
038b7ebe8d
|
定义 User 和 Record 接口 (#9)
* 登陆,注册,加上异常集中处理,mybatis和mybatisplus不兼容好像是
* 更新hutool依赖并移除mybatis-starter
此更改升级了hutool版本从5.8.11到5.8.26,并且移除了mybatis-spring-boot-starter依赖。这对于优化项目依赖和保持项目轻量级有好处。
* 数据库表名有点小问题
* 解决用户表映射问题以匹配实际数据库结构
之前,用户表列名在MyBatis映射中被错误地标注为`userId`和`group`,而数据库中的实际列名为`user_id`和`group`(无反引号)。此次更改通过在MyBatis注释中使用正确的列名来解决了该问题,确保了数据操作的正确执行。此外,还修正了选择语句中的列名,以确保查询能够正确执行并返回期望的结果。
* 不会测那个apifox有token怎么加进去啊
* 拦截器ok
* 允许接口文档目录的未登录访问
启用自动建表
* jwtUtils
* 权限校验1
* 管理员查看用户信息
* 816
* refactor(user): 简化控制器和实体类并调整注释格式
- 合并登录和注册请求模型,统一参数处理- 删除未使用的字段和导入语句,优化代码
-调整方法注释格式,提升可读性和一致性
- 实体类 `User` 移除 `name` 字段,避免冗余
BREAKING CHANGE: `User` 实体类移除 `name` 字段,可能影响依赖此字段的数据库查询。请确保更新相关代码以适应这一变更。
* feat(user): 完成User的接口
* feat(user): 完成Record的接口
---------
Co-authored-by: suyiiyii <suyiiyii@gmail.com>
|
2024-08-16 01:44:20 +08:00 |
|