|
|
b83c540018
|
fix(cas): 接通 CAS 单点登录全链路 + 清理冗余配置
修复链上的 8 个真 bug:
1. UserDetail(UserVO,Set) 漏 setAuthorities → CAS token 构造抛 IllegalArgumentException
修:CasUserDetailsService.buildGptUserDetail 手动补 empty authorities
2. frontEndUrl 写死内网 IP,localhost 隧道用户跳回时"无法访问此网站"
修:CasUrlBuilder 用 X-Forwarded-Host / Host 动态拼 service URL
3. vite proxy 没配 /metalinfo/chat_web_backend,CAS 回跳 ticket 被前端路由吞
修:加一条 proxy(rewrite 去 /metalinfo 前缀)+ X-Forwarded-Host 转发
4. ticket 校验 service URL 跟 entry point 不一致 → CAS server mismatch
修:自定义 AuthenticationDetailsSource 用同一个动态 URL
5. sendRedirect URL 含 # 经容器编码成 %23,浏览器拿不到 hash → 404
修:改用 query 参数(/metalinfo/?cas_token=xxx),前端 router beforeEach 拦截
6. CAS 登录后 HttpSession 残留,第二次访问 /cas/login 不触发 entryPoint → 落到
DispatcherServlet → 找不到映射 → 404 Whitelabel
修:SuccessHandler 完成后 invalidate session + clear SecurityContext
7. CAS 路径漏写 Redis token,JwtAuthenticationFilter 校验时 LOGIN_TOKEN_KEY 找不到
→ "token已失效" → 前端 axios interceptor 清 token 跳回 login
修:SuccessHandler 同步写 redisUtils.set,与 LoginController.saveLoginLog 对齐
8. permission.ts 没拦 query 里的 cas_token,hash 路由下 location.search 取不到
修:router beforeEach 优先消费 cas_token 再走 getSession
清理冗余:
- CasProperties 删 6 个未用字段(enabled/serverLogout/appLogout/appKey/
appSecret/httpsFlag/frontEndUrl)
- application.yml 同步删,移除写死的 app-secret 等敏感字段
- 删外部 override 文件 chat_web_backend/config/application.yml
- casServiceProperties.setService 改占位符(实际不被读取,只满足
ServiceProperties.afterPropertiesSet 的非空校验)
- 删 permission.ts 的 [CAS] [GUARD] debug log,保留 catch error 一条
新增:
- CasUrlBuilder 工具类:从请求动态解析 host/scheme,多个地方共用
UI:
- welcome 页面玻璃按钮 + 呼吸光晕/光感动画(用户自己调过,本次保留)
- App.vue:/welcome 路径不渲染 Operates 侧边栏
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-07 20:22:57 +08:00 |
|
|
|
cc54b24a77
|
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页
需求:
1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页
2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS)
3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮)
变更:
- 新增 chat_web_front/src/views/welcome/index.vue
- 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案
- 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头
- 点击 → router.push('/chat')
- 重写 chat_web_front/src/views/login/index.vue
- CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui)
- "登录注册中心" 标题 + 红色短分隔条
- 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp)
- "短信验证登录" 链接切换到 SMS 模式
- 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮
- 登录成功后 router.push('/welcome')
- CAS 回调 cas_token 处理保留
- chat_web_front/src/router/index.ts:
- / → 默认重定向改为 /welcome (原来到 /chat)
- 新增 /welcome 路由
- 复制 ui/微信图片_20260423163044_262_1531.jpg 到
src/assets/images/login/cassicLoginBg.jpg
未做:
- SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位
- 图形验证码后端 (showCaptcha 默认关)
- 老素材 loginBg.png 仍由 welcome 页使用,未删
测试:
- 访问 /metalinfo → 未登录跳 /login (CASSIC 红金)
- 账号密码登录 / CAS 登录 → 跳 /welcome
- /welcome 点"立即体验" → /chat
|
2026-05-07 16:17:10 +08:00 |
|
|
|
911f7adee6
|
checkpoint: 重写 langchain agent 前的快照
包含未合入 main 的工作:
- CAS 单点登录接入 (CasSecurityConfig + 4 个 CAS 类)
- LoginController 改 POST + body, 修 URL 密码暴露
- chat_test.py 修 texts→text typo
- 前端外部系统侧边栏 + login API POST
- gateway-nginx.conf
下一步: 从这个分支拉 feat/langgraph-rewrite 做 langchain-chat agent 重写
回滚点: git checkout backup/pre-langgraph
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-07 14:58:53 +08:00 |
|
|
|
f8e8017434
|
feat: 顶部 title + logo 配色 + 侧栏外部系统快捷入口
- index.html: 浏览器 title 改为"中国产业基础能力发展战略研究院战知大模型"
- properties.ts: 加 fullProjectName 字段,projectName 短名保留用于 footer
- title.svg / chatLogo.svg: 米字图标左下主笔染 #FF2500 红,其余 5 笔染 #636E77 灰,"战知"汉字保留默认黑色
- Operates.vue: 侧栏底部 user 头像上方新增 3 个浅蓝按钮风格外链入口(钢研门户/项目管理/数据中心),点击新窗口打开内网系统
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-06 16:51:09 +08:00 |
|
|
|
108022cebd
|
feat: 品牌升级(知冶→战知) + 应用工具广场重构 + 新增工具集成
品牌升级:
- 全站品牌从"知冶"更名为"战知"
- 更换 favicon、侧边栏 logo、登录页 logo
- 更新登录页标语和首页欢迎语
应用广场重构:
- 从后端数据库驱动改为前端静态配置,按分类 tab 展示
- 新增工具卡片 UI,支持 logo 图片和 emoji 图标
新增工具部署:
- Stirling PDF (端口18080) - PDF 处理工具箱
- Excalidraw (端口18081) - 手绘风格白板,集成 AI 绘图
- TrWebOCR (端口18083) - 中文离线 OCR
- LibreTranslate (端口18084) - 中英翻译引擎
- PPTist (端口18085) - 在线 PPT 编辑器
- PPTist AI 后端 (端口18086) - 对接 deepseek-v3 生成大纲/PPT/写作
- Excalidraw AI 代理 (端口18082) - 对接 deepseek-v3 生成 Mermaid 图
其他:
- 智能场景仅保留"选题推荐"
- vite 代理配置增加 /pdf/ 和 /draw/ 路由
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-08 17:24:51 +08:00 |
|
|
|
87e571d9ec
|
[全量] 初始化项目代码、配置、文档及Agent协同harness
|
2026-04-02 11:36:05 +08:00 |
|