一个开箱即用的用户管理系统模板,基于 SpringBoot 实现标准化的用户认证与基本信息管理功能。 提供快速集成能力,包含完整的注册 / 登录流程、 JWT 认证、Redis 会话管理和基础用户操作 API,可直接作为模块集成到新项目中。
-
✅ 基于 Spring Security 安全认证
-
✅ JWT 无状态认证
-
✅ 接口签名认证
-
✅ Redis 缓存会话管理
-
🧩 模块化设计,即插即用
-
📦 包含以下基础功能:
- 用户注册( 邮箱 )
- 用户登录
- 信息修改
- 第三方登录
- Github
- ⌛ More
- 绑定与解绑第三方应用
-
🚧 正在开发的功能:
-
📝 其他信息修改
-
📝 权限管理
-
📝 IP 管理 ( 如封禁 )
-
| 组件 | 用途 |
|---|---|
| Spring Boot 3 | 核心框架 |
| Spring Security | 安全控制 |
| JWT | 无状态认证 |
| Redis | 会话缓存 / 限流控制 |
| MySQL 8 | 数据持久化 |
| Lombok | 代码简化 |
- JDK 17+
- MySQL 8.0+
- Redis 6+
- 克隆仓库
git clone https://github.com/TwAzuremy/SimpleLogin.git-
创建数据库:执行 init.sql 进行初始化
-
更换配置:
- 填写各应用的账号密码:application-prod.yml
- 将 application.yml 的
spring.profiles.active: dev改为prod
| 环境变量 | 默认值 | 说明 |
|---|---|---|
spring.datasource.username |
/ | MySQL 账号,如是个人电脑本地运行,一般账户为 root |
spring.datasource.password |
/ | MySQL 密码 |
spring.mail.host |
smtp.gmail.com | smtp 链接,不同邮箱可自行上网查询,或是在该邮箱设置中查看 |
spring.mail.port |
587 | smtp 端口,不同邮箱可自行上网查询,或是在该邮箱设置中查看 |
spring.mail.username |
/ | 发送人的邮箱账号 |
spring.mail.password |
/ | 开启 smtp 后的专属密码,例如谷歌需要在账号中心的添加应用专用密码, 使用该密码登录 smtp |
spring.data.redis.password |
/ | Redis 的密码,如果有;如果没有,可将该配置移除 |
src/main/java
│ └─com
│ └─framework
│ └─simpleLogin
│ │
│ ├─advice # 全局处理 (异常捕获、添加响应头...)
│ │
│ ├─annotation # 注解类
│ │
│ ├─aspect # 切面类
│ │
│ ├─config # 配置类
│ │
│ ├─controller # 控制层 ( API 接口 )
│ │
│ ├─domain #
│ │
│ ├─dto # 数据传输
│ │
│ ├─entity # 实体类 ( User )
│ │
│ ├─event # 事件
│ │
│ ├─exception # 自定义异常
│ │
│ ├─filter # 过滤器
│ │
│ ├─interceptor # 拦截器
│ │
│ ├─listener # 事件监听器
│ │
│ ├─repository # 数据访问层
│ │
│ ├─serializer # 自定义序列化
│ │
│ ├─service # 服务层
│ │ │
│ │ └─impl
│ │
│ ├─utils # 工具类
│ │
│ └─wrapper # 包装类
│
└─resources
│
├─sql # 初始化数据库
│
├─static # 静态文件
│
└─templates # 模板文件
└─mail # 邮箱模板
| 版本 |
|---|
| version 1.0 |
欢迎通过 Issue 或 PR 参与改进:
- Fork 项目
- 创建特性分支 (
git checkout -b feature/your-feature) - 提交修改 (
git commit -am 'Add some feature') - 推送分支 (
git push origin feature/your-feature) - 创建 Pull Request
💡 使用提示:将
/src/main/java/com/simpleLogin目录整体复制到目标项目,根据需求调整包路径和配置即可快速集成用户管理功能。建议配合 Spring Profile 进行环境隔离配置