251 lines
5.4 KiB
Markdown
251 lines
5.4 KiB
Markdown
# 授权码模块部署检查清单
|
|
|
|
## 📋 部署前检查
|
|
|
|
### 1. 文件完整性检查
|
|
- [ ] ruoyi-license 模块目录存在
|
|
- [ ] pom.xml 已添加 license 模块
|
|
- [ ] ruoyi-admin/pom.xml 已添加 license 依赖
|
|
- [ ] SysLicenseController.java 已创建
|
|
- [ ] license.html 和 active.html 已创建
|
|
- [ ] login.html 和 login.js 已修改
|
|
- [ ] sys_license.sql 脚本已准备
|
|
|
|
### 2. 数据库准备
|
|
- [ ] 创建 sys_license 表
|
|
- [ ] 插入授权管理菜单数据
|
|
- [ ] 验证表结构正确
|
|
- [ ] 检查菜单权限配置
|
|
|
|
### 3. 代码配置
|
|
- [ ] 修改 LicenseUtils.java 中的密钥(生产环境必须)
|
|
- [ ] 确认拦截器路径配置正确
|
|
- [ ] 确认定时任务cron表达式
|
|
- [ ] 启动类添加 @EnableScheduling 注解
|
|
|
|
## 🔧 部署步骤
|
|
|
|
### 步骤1: 执行数据库脚本
|
|
```bash
|
|
mysql -u root -p your_database < sql/sys_license.sql
|
|
```
|
|
- [ ] 执行成功
|
|
- [ ] 表创建成功
|
|
- [ ] 菜单数据插入成功
|
|
|
|
### 步骤2: 修改启动类
|
|
```java
|
|
@SpringBootApplication
|
|
@EnableScheduling // 添加此注解
|
|
public class RuoYiApplication {
|
|
// ...
|
|
}
|
|
```
|
|
- [ ] 注解已添加
|
|
|
|
### 步骤3: 编译项目
|
|
```bash
|
|
mvn clean install
|
|
```
|
|
- [ ] 编译成功
|
|
- [ ] 无错误信息
|
|
- [ ] JAR包生成
|
|
|
|
### 步骤4: 启动应用
|
|
```bash
|
|
java -jar ruoyi-admin.jar
|
|
```
|
|
- [ ] 启动成功
|
|
- [ ] 无异常日志
|
|
- [ ] 端口正常监听
|
|
|
|
### 步骤5: 生成授权码
|
|
**方式A: 使用独立工具**
|
|
```bash
|
|
java com.ruoyi.license.util.LicenseGenerator
|
|
```
|
|
- [ ] 工具运行成功
|
|
- [ ] 授权码生成成功
|
|
- [ ] 授权码已保存
|
|
|
|
**方式B: 使用系统界面**
|
|
- [ ] 登录系统
|
|
- [ ] 访问授权管理
|
|
- [ ] 点击生成授权码
|
|
- [ ] 输入天数并生成
|
|
|
|
### 步骤6: 激活授权码
|
|
- [ ] 访问登录页
|
|
- [ ] 点击"激活授权码"
|
|
- [ ] 输入授权码
|
|
- [ ] 激活成功
|
|
|
|
## ✅ 功能测试
|
|
|
|
### 测试1: 授权码生成
|
|
- [ ] 系统界面生成授权码成功
|
|
- [ ] 独立工具生成授权码成功
|
|
- [ ] 授权码格式正确
|
|
|
|
### 测试2: 授权码激活
|
|
- [ ] 登录页激活成功
|
|
- [ ] 系统内激活成功
|
|
- [ ] 数据库记录正确
|
|
|
|
### 测试3: 授权验证
|
|
- [ ] 有效授权可正常登录
|
|
- [ ] 无授权无法登录
|
|
- [ ] 过期授权无法登录
|
|
|
|
### 测试4: 授权拦截
|
|
- [ ] 未授权访问被拦截
|
|
- [ ] 有效授权可正常访问
|
|
- [ ] 静态资源不被拦截
|
|
|
|
### 测试5: 定时检查
|
|
- [ ] 定时任务正常执行
|
|
- [ ] 授权过期自动更新状态
|
|
- [ ] 在线用户被踢出
|
|
|
|
### 测试6: 授权管理
|
|
- [ ] 授权列表查询正常
|
|
- [ ] 授权信息显示正确
|
|
- [ ] 授权删除功能正常
|
|
|
|
## 🔍 问题排查
|
|
|
|
### 问题1: 编译失败
|
|
**检查项:**
|
|
- [ ] Maven依赖是否正确
|
|
- [ ] JDK版本是否匹配
|
|
- [ ] pom.xml配置是否正确
|
|
|
|
**解决方案:**
|
|
```bash
|
|
mvn clean
|
|
mvn dependency:resolve
|
|
mvn install
|
|
```
|
|
|
|
### 问题2: 启动失败
|
|
**检查项:**
|
|
- [ ] 数据库连接是否正常
|
|
- [ ] 端口是否被占用
|
|
- [ ] 配置文件是否正确
|
|
|
|
**解决方案:**
|
|
- 检查 application.yml 配置
|
|
- 查看启动日志错误信息
|
|
- 确认数据库表已创建
|
|
|
|
### 问题3: 无法激活授权码
|
|
**检查项:**
|
|
- [ ] 授权码格式是否正确
|
|
- [ ] 授权码是否已过期
|
|
- [ ] 密钥是否一致
|
|
|
|
**解决方案:**
|
|
- 重新生成授权码
|
|
- 检查 LicenseUtils 密钥配置
|
|
- 查看后台错误日志
|
|
|
|
### 问题4: 授权验证不生效
|
|
**检查项:**
|
|
- [ ] 拦截器是否注册
|
|
- [ ] 数据库授权记录是否正确
|
|
- [ ] 定时任务是否执行
|
|
|
|
**解决方案:**
|
|
- 检查 LicenseConfig 配置
|
|
- 验证数据库 status 字段
|
|
- 确认 @EnableScheduling 已添加
|
|
|
|
### 问题5: 在线用户未被踢出
|
|
**检查项:**
|
|
- [ ] SessionDAO 是否注入
|
|
- [ ] 定时任务是否执行
|
|
- [ ] Shiro配置是否正确
|
|
|
|
**解决方案:**
|
|
- 检查 LicenseCheckTask 日志
|
|
- 验证 SessionDAO bean
|
|
- 重启应用服务器
|
|
|
|
## 📊 监控指标
|
|
|
|
### 运行时监控
|
|
- [ ] 授权状态正常
|
|
- [ ] 定时任务执行正常
|
|
- [ ] 无异常日志
|
|
- [ ] 内存使用正常
|
|
- [ ] CPU使用正常
|
|
|
|
### 业务监控
|
|
- [ ] 授权激活次数
|
|
- [ ] 授权过期提醒
|
|
- [ ] 用户登录成功率
|
|
- [ ] 授权拦截次数
|
|
|
|
## 🔐 安全检查
|
|
|
|
### 配置安全
|
|
- [ ] 生产环境已修改默认密钥
|
|
- [ ] 数据库密码已加密
|
|
- [ ] 授权码传输使用HTTPS
|
|
- [ ] 敏感日志已脱敏
|
|
|
|
### 权限安全
|
|
- [ ] 授权管理菜单仅管理员可见
|
|
- [ ] 授权激活操作有日志记录
|
|
- [ ] 授权码生成有权限控制
|
|
- [ ] 数据库访问有权限限制
|
|
|
|
### 数据安全
|
|
- [ ] 授权码加密存储
|
|
- [ ] 定期备份授权数据
|
|
- [ ] 授权日志完整保存
|
|
- [ ] 敏感信息不输出到日志
|
|
|
|
## 📝 上线清单
|
|
|
|
### 上线前
|
|
- [ ] 所有测试通过
|
|
- [ ] 代码已提交版本库
|
|
- [ ] 数据库脚本已准备
|
|
- [ ] 部署文档已编写
|
|
- [ ] 回滚方案已准备
|
|
|
|
### 上线中
|
|
- [ ] 备份现有数据
|
|
- [ ] 执行数据库脚本
|
|
- [ ] 部署新版本代码
|
|
- [ ] 生成初始授权码
|
|
- [ ] 激活授权码
|
|
|
|
### 上线后
|
|
- [ ] 验证功能正常
|
|
- [ ] 检查日志无异常
|
|
- [ ] 监控系统运行状态
|
|
- [ ] 通知相关人员
|
|
- [ ] 更新运维文档
|
|
|
|
## 📞 应急联系
|
|
|
|
### 技术支持
|
|
- 开发负责人: ___________
|
|
- 运维负责人: ___________
|
|
- 数据库管理员: ___________
|
|
|
|
### 应急预案
|
|
1. 授权失效 -> 立即激活新授权码
|
|
2. 系统无法登录 -> 检查授权状态
|
|
3. 数据丢失 -> 从备份恢复
|
|
4. 性能问题 -> 调整定时任务频率
|
|
|
|
---
|
|
|
|
**检查人**: ___________
|
|
**检查日期**: ___________
|
|
**部署环境**: [ ] 开发 [ ] 测试 [ ] 生产
|
|
**部署状态**: [ ] 成功 [ ] 失败 [ ] 部分成功
|