智能云端素材库后端-用户模块
数据访问层
连接并创建数据库表后,使用MyBatisX快速生成代码。注意移动后修改 mapper的xml文件中的包名。
此外将实体类的ID改为雪花算法生成,防止爬虫爬取。
采用逻辑删除,方便恢复数据。
创建用户类型的枚举类。
用户注册
创建注册请求信息类。添加注册方法并实现。
注册方法中包括:
- 参数校验
- 账号是否重复
- 加密密码并尝试保存用户信息
用户登录
- 参数校验
- 查询用户
- 记录登录状态
获取当前登录用户
- 判断用户登录状态
- 返回用户信息
返回用户信息时,可以进行数据脱敏,即去除用户信息类中的敏感信息(密码等),仅返回所需要的信息。
用户注销
移除session中的登录状态即可。
用户权限控制
使用SpringAOP+自定义权限校验注解
实现统一的接口拦截和权限校验。
首先在annotation
包下编写权限校验注解。
之后编写权限校验AOP,放在aop包下。采用环绕通知。
对需要进行权限控制的接口添加注解。
用户管理
除了常规的CURD和数据脱敏外,需要注意分页功能。
使用Mybatis Plus时,需要独立按照分页插件。
此外,还需要在config包下新建全局JSON配置,将长整型转换为字符串,来解决JS的精度丢失问题。