Commit Graph
10 Commits
Author SHA1 Message Date
chenxing 19e414ee81 feat(B3): custom_css 站点级自定义样式-服务端黑名单强校验+5主题head内联直出
- validateConfigJson 增 custom_css 分支:≤10240字符;黑名单忽略大小写拒 </style/<script/@import/expression(
- 快照/渲染链路(model customCss)与 themeVarsCss 同构注入;缓存失效复用既有 SiteContentChangedEvent
- 5 套主题 head.html 于 main.css 与微调变量之后 th:utext 直出(安全性完全依赖服务端先行)
- SiteServiceIT+6 例(含 expression 红线项与 10240 边界);PortalSsrIT+3 例(渲染/head内/顺序/缓存失效)
- mvn -o test 258 例全绿(B3 状态,不含 B4 红测)
2026-09-07 20:14:23 +08:00
chenxing b4822a7f38 feat(B2): 附件引用模型-cms_attachment 增 ref_type/ref_id,消灭孤儿误报
- 实体/双 SQL 加列+idx_att_ref;upload 增 scene 白名单(banner/link/site)
- AttachmentService 新增 markUsed/release/markSiteConfigUsed(webUrl 反查,幂等)
- 未使用=articleId 与 refType 均空;page 返回 unusedCount(前后端同步改名无兼容别名)
- Banner/Link 保存先解引用再回写(换图旧图回未使用);Site 配置 logo/favicon 引用回写(@Lazy 解循环依赖)
- 新增13例(Attachment6/Banner3/Link2/Site2)+既有语义断言更新;mvn -o test 全绿
2026-09-07 19:40:14 +08:00
chenxing 52676f592a feat(B1): 建站权限拆分-校级可建/编辑本院系子站,顶层站仍仅超管
- SiteService.save 入口换 requireSiteSavePermission 私有方法(安全边界单点):
  超管直通;无校级角色/顶层编辑/新建顶层/子站提升/跨校主站/伪造schId 全拒
- SiteServiceIT 新增10例(方案7例+伪造schId/跨校接管/同校改挂3个边界)
- mvn -o test 236/236 全绿(基线226+10)
2026-09-07 19:21:18 +08:00
chenxing dad5eedaf2 chore: 前置快照-logback-spring.xml(执行方案B1~B5前既有未提交变更) 2026-09-07 18:59:23 +08:00
chenxing eb5c3afaaf merge projman injected files
build / build-push (push) Successful in 47s
2026-09-07 09:10:24 +08:00
chenxing 99cd26b3d2 init local code 2026-09-07 09:09:39 +08:00
admin 13bd931029 ci: init Dockerfile [skip ci] 2026-09-07 08:41:40 +08:00
admin 188d1c9d0d ci: init build workflow [skip ci] 2026-09-07 08:41:40 +08:00
admin d9559fd0d8 init: readme guide [skip ci] 2026-09-07 08:41:35 +08:00
admin c773a3b66e Initial commit 2026-09-07 08:41:34 +08:00