模块接口只认模块自己容器里的 CAS 会话(_const_cas_assertion_)。同源部署只能 保证 Cookie 送得到,送不到「还没建出来的会话」:模块 SPA 建会话靠整页跳 SSO 签票回跳,而代执行走 fetch —— 平台对 AJAX 只回 JSON code=302、不真跳转, 于是首次查询某模块必然失败,且每次重问都同样失败。 现在首次收到 code=302 时:用同源隐藏 iframe 对刚失败的接口地址做一次真实导航 (不带 yschapirequest),走完「模块 302 → SSO 凭已有 TGT 签票回跳 → 模块落会话」, 随后重试原请求;每模块 60s 内只尝试一次,用户无感。会话建好后同浏览器后续查询 直接命中,无额外开销。