Files
FT546MWS/ruoyi-license/DEPLOYMENT_CHECKLIST.md

5.4 KiB

授权码模块部署检查清单

📋 部署前检查

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: 执行数据库脚本

mysql -u root -p your_database < sql/sys_license.sql
  • 执行成功
  • 表创建成功
  • 菜单数据插入成功

步骤2: 修改启动类

@SpringBootApplication
@EnableScheduling  // 添加此注解
public class RuoYiApplication {
    // ...
}
  • 注解已添加

步骤3: 编译项目

mvn clean install
  • 编译成功
  • 无错误信息
  • JAR包生成

步骤4: 启动应用

java -jar ruoyi-admin.jar
  • 启动成功
  • 无异常日志
  • 端口正常监听

步骤5: 生成授权码

方式A: 使用独立工具

java com.ruoyi.license.util.LicenseGenerator
  • 工具运行成功
  • 授权码生成成功
  • 授权码已保存

方式B: 使用系统界面

  • 登录系统
  • 访问授权管理
  • 点击生成授权码
  • 输入天数并生成

步骤6: 激活授权码

  • 访问登录页
  • 点击"激活授权码"
  • 输入授权码
  • 激活成功

✅ 功能测试

测试1: 授权码生成

  • 系统界面生成授权码成功
  • 独立工具生成授权码成功
  • 授权码格式正确

测试2: 授权码激活

  • 登录页激活成功
  • 系统内激活成功
  • 数据库记录正确

测试3: 授权验证

  • 有效授权可正常登录
  • 无授权无法登录
  • 过期授权无法登录

测试4: 授权拦截

  • 未授权访问被拦截
  • 有效授权可正常访问
  • 静态资源不被拦截

测试5: 定时检查

  • 定时任务正常执行
  • 授权过期自动更新状态
  • 在线用户被踢出

测试6: 授权管理

  • 授权列表查询正常
  • 授权信息显示正确
  • 授权删除功能正常

🔍 问题排查

问题1: 编译失败

检查项:

  • Maven依赖是否正确
  • JDK版本是否匹配
  • pom.xml配置是否正确

解决方案:

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. 性能问题 -> 调整定时任务频率

检查人: ___________ 检查日期: ___________ 部署环境: [ ] 开发 [ ] 测试 [ ] 生产 部署状态: [ ] 成功 [ ] 失败 [ ] 部分成功