yeg
2026-08-30 b9d3b06504d679a28fd3ed17268013f7a5e61a0c
修复测试控制台刷新时实时流鉴权
1个文件已添加
1个文件已修改
22 ■■■■■ 已修改文件
ruoyi-admin/src/test/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilterTest.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/test/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilterTest.java
New file
@@ -0,0 +1,15 @@
package com.ruoyi.framework.security.filter;
import static org.junit.jupiter.api.Assertions.assertFalse;
import org.junit.jupiter.api.Test;
/** 防止 SSE 异步 dispatch 跳过 JWT 认证,导致实时流刷新后被拒绝。 */
class JwtAuthenticationTokenFilterTest
{
    @Test
    void asyncDispatchMustRestoreAuthenticationContext()
    {
        assertFalse(new JwtAuthenticationTokenFilter().shouldNotFilterAsyncDispatch());
    }
}
ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java
@@ -27,6 +27,13 @@
    @Autowired
    private TokenService tokenService;
    /** SSE 使用异步 dispatch,续传阶段也必须恢复无状态 JWT 上下文。 */
    @Override
    protected boolean shouldNotFilterAsyncDispatch()
    {
        return false;
    }
    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
            throws ServletException, IOException