security: 接口鉴权 + 跨域收紧 + AI 数据脱敏 + 日志脱敏
- 新增 JwtAuthFilter:/api/** 除登录与验证码白名单外必须携带 Bearer 令牌(JSON 401);
jwt.secret 由固定串改为 64 位随机串(在线用户需重新登录)
- CORS:由 allowedOriginPattern("*") + allowCredentials(true) 改为配置化来源白名单并关闭凭证携带
- AI 脱敏:去掉 columns:"*" 放开整表的口子;屏蔽统一社会信用代码/填表人/联系电话/单位负责人/
统计负责人/填报单位/企业代码(可查列、过滤列、排序列与表结构提示一并剔除);
外发前企业名称换 Company1… 别名、自由文本中的企业名与手机号一并处理,回答返回前还原
- 日志:MyBatis 由默认 StdOutImpl 改为 Slf4jImpl,不再把整行业务数据打进 backend.log
- 前端:审核结果导出、模板下载由 window.open 改为 axios 带令牌取 blob 下载
- 文档:database.md 第七章补充脱敏实现说明(llm_desensitize_map 为预留表)
- 附《功能测试报告_接口鉴权与AI数据脱敏加固_2026-09-14》《工作日结_2026-09-14》