datai/datai-scenes/datai-scene-salesforce/docs/prompts/008-datai-salesforce-auth-immediate-fixes.md
Kris 469c78cf29 feat: REQ-010-1 完成数据库表结构设计和创建,REQ-010-2 完成基础实体类和Mapper创建需求定义和架构决策
REQ-010-1 完成内容:
- 创建 6 个数据库表设计(datai_meta_org_config、datai_meta_task、datai_meta_job_execution、datai_meta_component、datai_meta_deploy_history、datai_meta_job_log)
- 设计了合理的索引策略
- 对敏感字段进行了加密存储设计
- 表名前缀统一为 datai_meta_
- 所有表包含标准基础字段

REQ-010-2 完成内容:
- 补充用户故事和细化验收标准
- 创建架构决策记录(MyBatis Plus 注解 + XML 映射文件混合方案)
- 对比了 3 种备选方案
- 分析了决策对系统架构、开发流程、运维管理的影响
- 识别了技术风险、业务风险和实施风险
- 定义了回滚策略和验收标准

文档更新:
- 创建 0010-database-table-design.md 架构决策记录
- 创建 0011-entity-mapper-create.md 架构决策记录
- 创建 0020-database-table-design-create.md 变更记录
- 创建 20260117-database-table-design-create.md 会话记录
- 创建 20260117-database-table-design-create-retro.md 复盘报告
- 创建 011-database-table-design-create.md 提示词文档
- 更新 REQ-010-2.md 需求文档
- 更新 docs/index.md 和 CHANGELOG.md
2026-01-18 19:44:13 +08:00

6.8 KiB
Raw Blame History

Prompt First 模板

输入引用

引用相关的 docs 文档链接:

  • 需求文档 - datai-salesforce-auth 模块立即修复事项
  • 架构决策 - datai-salesforce-auth 模块立即修复架构决策

Context Maps

强制列出本次 Prompt 依赖的 Canvas 文件:

目标

生成代码以修复 datai-salesforce-auth 模块中的 4 个问题:

  1. 语法错误修复:修复 DataiSfLoginHistoryController 和 DataiSfLoginSessionController 中的多余右括号
  2. 密码加密方式调整:将对称加密改为不可逆的 BCrypt 哈希算法
  3. 敏感信息日志脱敏:对 Session ID、用户 ID 等敏感信息进行脱敏处理
  4. 请求频率限制:为登录接口添加请求频率限制功能

输出格式

代码示例语言Java

需要生成以下文件和代码:

  1. 修复语法错误

  2. 密码加密方式调整

  3. 敏感信息日志脱敏

  4. 请求频率限制

约束

列出使用此提示词时的约束条件:

  • 技术栈限制:必须使用 Spring Boot 3.x、MyBatis、BCrypt
  • 性能要求:修复后不影响登录接口响应时间,响应时间 < 2 秒
  • 安全性要求
    • 密码必须使用不可逆的哈希算法BCrypt
    • 敏感信息在日志中必须进行脱敏处理
    • Session ID 只显示前 8 位
    • 请求频率限制:每分钟最多 5 次登录尝试
  • 兼容性要求:修复后不影响现有功能,向后兼容
  • 代码规范:遵循项目现有的代码风格和命名规范

Rule Set

具体规则

  1. 语法错误修复

    • 必须移除多余的右括号 ))),改为 ))
    • 必须保持代码的其他部分不变
  2. 密码加密方式调整

    • 必须使用 BCrypt.hashpw(password, BCrypt.gensalt()) 加密密码
    • 必须使用 BCrypt.checkpw(password, hash) 验证密码
    • 必须将 password_encrypted 字段改为 password_hash
    • 必须更新所有相关的数据库映射和查询语句
  3. 敏感信息日志脱敏

    • 必须创建 maskSensitiveInfo(String info) 方法
    • 必须对 Session ID、用户 ID 等敏感信息应用脱敏方法
    • 脱敏规则:
      • 如果字符串长度 <= 8显示前 2 位 + ******
      • 如果字符串长度 > 8显示前 4 位 + ****** + 后 4 位
    • 必须更新所有记录敏感信息的日志语句
  4. 请求频率限制

    • 必须在所有登录接口添加 @RateLimiter 注解
    • 必须配置频率限制为:每分钟最多 5 次登录尝试
    • 必须使用 Redis 存储请求计数
    • 必须在配置文件中添加频率限制相关配置

验收标准

定义验证输出质量的具体标准:

功能完整性

  • 语法错误已修复,代码能够正常编译
  • 密码加密已改为 BCrypt无法直接解密
  • 日志中敏感信息已脱敏Session ID 只显示前 8 位
  • 登录接口已添加请求频率限制,每分钟最多 5 次登录尝试

代码正确性

  • 所有修改的代码符合 Java 编码规范
  • 所有修改的代码符合项目代码风格
  • 所有修改的代码通过编译
  • 所有修改的代码通过单元测试

文档准确性

  • 所有修改的代码都有清晰的注释
  • 所有修改的代码都符合需求文档的要求
  • 所有修改的代码都符合 ADR 文档的决策

性能指标

  • 登录接口响应时间 < 2 秒
  • 密码加密/验证性能无明显下降
  • 日志脱敏性能无明显下降
  • 请求频率限制性能无明显下降

风险

识别使用此提示词可能带来的风险:

输出质量风险

  • 风险:生成的代码可能不符合项目代码风格
  • 缓解措施:仔细检查生成的代码,确保符合项目规范

技术实现风险

  • 风险BCrypt 加密可能与现有代码不兼容
  • 缓解措施:充分测试 BCrypt 加密和验证功能,确保与现有代码兼容

业务风险

  • 风险:修改数据库表结构可能影响现有数据
  • 缓解措施:创建数据库迁移脚本,确保数据迁移的正确性

时间成本风险

  • 风险:修复 4 个问题可能需要较长时间
  • 缓解措施:按优先级修复问题,先修复语法错误,再修复安全问题

使用记录

日期 使用场景 输入参数 输出结果 反馈 改进措施
2026-01-16 datai-salesforce-auth 模块立即修复 REQ-008, ADR-0008 生成修复代码 待评估 待改进