用户登录注册系统
你需要从零开始构建一个完整的用户登录注册系统,该系统需要支持用户注册、登录、密码重置等核心功能,并具备基本的安全防护能力。
-
用户注册功能
- 用户名:长度4-20个字符,仅允许字母、数字、下划线
- 邮箱:必须符合标准邮箱格式,且全局唯一
- 密码:长度8-32个字符,必须包含大小写字母、数字和特殊字符(!@#$%^&*)
- 注册成功后发送确认邮件(模拟即可,打印日志)
-
用户登录功能
- 支持用户名或邮箱登录
- 登录成功返回 JWT Token,有效期2小时
- 支持记住我功能,勾选后 Token 有效期延长至7天
- 密码连续错误5次后锁定账户30分钟
- 技术栈或依赖约束:
- 必须使用 Spring Boot 2.7.x 或以上版本
- 必须使用 Spring Security 进行认证授权
- 必须使用 JWT 进行 Token 生成和验证
- 必须使用 MySQL 作为数据库
- 禁止使用任何模板引擎,仅提供 RESTful API
Java jdk17 + Spring Boot 2.7.x