运维系统jdk21升级
Go to file
75681 86728411a7 安全修复:解决MCP实现中的安全漏洞和代码质量问题
基于Spring安全审查专家的报告,修复了以下关键问题:

## 🔒 安全修复

### 1. 输入验证加强
- 新增 SecurityValidationUtils 统一安全验证工具类
- 实施严格的工单ID、会话ID、查询文本格式验证
- 添加SQL注入和XSS攻击防护
- 参数范围验证(topK、threshold等)

### 2. 敏感信息保护
- 修复日志中敏感信息泄露问题
- 实施日志脱敏处理
- 标准化错误消息,避免暴露系统内部信息

### 3. 异常处理改进
- 统一异常处理机制
- 不向客户端暴露详细异常信息
- 安全的错误消息生成

## 📋 代码质量提升

### 1. 统一验证逻辑
- 集中化的输入验证方法
- 消除重复的验证代码
- 提高代码可维护性

### 2. 事务管理
- 为相似度检索添加只读事务注解
- 确保数据库操作的一致性

### 3. 安全最佳实践
- 实施防御性编程
- 添加参数长度限制
- 危险字符过滤

## 🛡️ 安全特性

### SecurityValidationUtils 工具类功能:
- isValidRepairId(): 工单ID格式验证
- isValidSessionId(): 会话ID格式验证
- isValidQueryText(): 查询文本安全验证
- isValidNumberRange(): 数值范围验证
- sanitizeText(): 文本内容清理
- createSafeErrorMessage(): 安全错误消息生成

### 防护能力:
- SQL注入防护:检测和阻止SQL注入攻击模式
- XSS防护:检测和阻止跨站脚本攻击
- 路径遍历防护:文件名安全验证
- 长度限制:防止缓冲区溢出攻击

## 🔧 修复的安全问题

1. **SQL注入风险**: 加强参数验证,使用参数化查询
2. **敏感信息泄露**: 日志脱敏,安全错误消息
3. **XSS攻击**: 输入内容过滤和验证
4. **参数验证不足**: 严格的格式和范围验证
5. **异常信息暴露**: 统一异常处理机制

这些修复显著提升了MCP实现的安全性,符合企业级应用的安全标准。
2025-08-17 21:26:59 +08:00
.vscode 优化向量化服务性能:实现高效并行处理和批量API调用 2025-08-14 15:35:54 +08:00
db 优化向量化服务性能:实现高效并行处理和批量API调用 2025-08-14 15:35:54 +08:00
src 安全修复:解决MCP实现中的安全漏洞和代码质量问题 2025-08-17 21:26:59 +08:00
.gitignore 优化AI答案生成系统和修复多项关键问题 2025-08-16 14:55:00 +08:00
COMPILATION_FIXES_SECURITY_REVIEW.md 优化向量化服务性能:实现高效并行处理和批量API调用 2025-08-14 15:35:54 +08:00
ERROR_CAPTURE_GUIDE.md 实现可配置错误日志捕获和管理系统 2025-08-12 14:49:55 +08:00
LLM_STREAMING_SUMMARY.md 优化向量化服务性能:实现高效并行处理和批量API调用 2025-08-14 15:35:54 +08:00
MCP_IMPLEMENTATION.md 实现真正的MCP (Model Context Protocol) 版本 2025-08-17 21:12:46 +08:00
README.md 优化向量化服务性能:实现高效并行处理和批量API调用 2025-08-14 15:35:54 +08:00
frontend-api-documentation.md 优化向量化服务性能:实现高效并行处理和批量API调用 2025-08-14 15:35:54 +08:00
pom.xml bug修复、embedding计算相关逻辑 2025-08-14 18:23:36 +08:00

README.md

YouFool DevOps 广东运维管理系统 (CW)

Spring Boot Java PostgreSQL SpringDoc OpenAPI

🎯 项目概览

YouFool DevOps 运维管理系统(广东)是基于 Spring Boot 框架开发的企业级运维管理平台。

核心特性

  • 🔧 运维报障管理: 完整的故障报告、处理流程和状态跟踪
  • 👥 组织架构管理: 用户、工程师信息管理和权限控制
  • 📋 任务分配系统: 领导任务分配和工作流管理
  • 📊 数据统计分析: 多维度数据统计和报表生成
  • 🔄 实时通信: WebSocket 支持的实时消息推送
  • 📝 错误日志管理: 可配置的错误捕获和日志管理系统

🏗️ 技术架构

运行环境

  • Java: JDK 21 (OpenJDK)
  • 框架: Spring Boot 2.7.18
  • 构建工具: Maven 3.x
  • 容器: Apache Tomcat 9.0.83

数据层

  • 数据库: PostgreSQL 11.7
  • 连接池: Druid 1.2.23
  • ORM: MyBatis-Plus 3.5.7
  • 数据源: 双数据源架构 (devops + youfool)

核心依赖

  • 企业框架: youfool-framework-springboot 1.1.1-SNAPSHOT
  • 安全框架: Apache Shiro 1.12.0
  • API文档: SpringDoc OpenAPI 1.8.0
  • HTTP客户端: Forest 1.5.16
  • Excel处理: EasyExcel 2.2.6 + Spire.XLS 3.9.1

技术亮点

  • JDK 21 现代化升级: 从 JDK 1.8 升级至 JDK 21支持最新 Java 特性
  • SpringDoc OpenAPI: 从 SpringFox 迁移至现代化 API 文档解决方案
  • 双数据源架构: 支持 devops 和 youfool 两个数据源的事务管理
  • 异步错误日志: 高性能的错误日志捕获和管理系统

📂 项目结构

src/main/java/com/chinaweal/youfool/devops/
├── base/                    # 基础环境模块
│   ├── controller/         # 基础数据控制器 (字典、任务、错误日志等)
│   ├── entity/            # 基础实体类
│   └── service/           # 基础服务层
├── repair/                 # 运维报障模块 (核心业务)
│   ├── controller/        # 报障管理控制器
│   ├── entity/           # 报障相关实体类
│   ├── excel/            # Excel 导入导出
│   ├── scheduled/        # 定时任务
│   └── service/          # 业务服务层
├── org/                   # 组织架构模块
│   ├── controller/       # 用户和工程师管理
│   ├── entity/          # 用户实体类
│   └── business/        # 业务系统集成
├── leaderassign/          # 领导分配模块
│   ├── controller/      # 任务分配控制器
│   └── entity/         # 分配任务实体
├── websocket/            # WebSocket 模块
│   └── server/          # 实时通信服务
├── config/              # 配置类
├── util/               # 工具类
└── DevOpsApplication.java # 应用主类

🚀 快速开始

环境要求

  • JDK 21+
  • PostgreSQL 11+
  • Maven 3.6+

启动应用

# 开发环境启动
mvn clean package -DskipTests=true
mvn spring-boot:run -Dspring-boot.run.profiles=dev

访问地址

API文档分组

  • 组织架构: 用户和工程师管理接口
  • 运维报障: 核心业务功能接口
  • 基础环境: 字典和基础数据接口
  • WebSocket测试环境: 实时通信测试接口
  • 领导分配: 任务分配相关接口

📊 配置说明

环境配置

  • application-dev.yml: 开发环境配置
  • application-prod.yml: 生产环境配置
  • application-local.yml: 本地开发配置

错误日志配置

系统支持完整的错误日志管理,可通过 error-log.* 配置项控制:

error-log:
  enabled: true                    # 全局开关
  startup-enabled: true           # 启动错误日志
  runtime-enabled: true           # 运行时错误日志  
  database-enabled: true          # 数据库错误日志
  business-enabled: true          # 业务错误日志
  log-directory: logs/errors      # 日志目录
  async-write: true              # 异步写入

🛡️ 系统监控

错误日志管理

  • Web界面: /api/error-logs/ 提供完整的日志管理功能
  • 日志分类: 启动、运行时、数据库、业务错误分类存储
  • 自动清理: 支持按天数自动清理历史日志
  • 性能优化: 异步写入,不影响业务性能

数据库健康检查

  • 双数据源监控: devops 和 youfool 数据源健康状态检查
  • 连接信息展示: 启动时显示数据库连接详情
  • 表访问测试: ENGINEER 表数据访问验证

Druid 连接池监控

  • 访问地址: http://localhost:8080/druid
  • 监控内容: SQL执行统计、连接池状态、慢SQL分析
  • 登录信息: admin / 123456

🔒 安全特性

  • Apache Shiro: 基于角色的访问控制 (RBAC)
  • JWT Token: 10小时后端令牌生命周期
  • RSA 加密: 敏感数据加密传输
  • SM3 哈希: 密码安全哈希存储
  • 请求拦截: 全局登录状态验证