You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot项目中$.get(/user)回调与接口断点仅认证成功时命中问题咨询

问题根本原因

你传入$.get()的回调是仅请求成功(HTTP响应状态码为2xx)时才会触发的成功回调,你观察到的现象完全符合预期:

  • 未登录认证时,Spring Security会直接拦截所有对受保护资源的请求,根本不会走到你写的/user接口逻辑里,所以Java侧断点不会命中。此时请求/user要么返回302重定向到登录页,要么返回401未授权的错误状态码,都不属于成功响应范畴,自然不会触发你写的JS成功回调,JS侧断点也不会命中。
  • 认证成功后,Spring Security放行请求,/user接口正常执行返回200状态码,请求成功,因此两边断点都会命中,回调逻辑正常执行。

验证方法

你可以给AJAX请求添加失败回调,就能直观看到未登录时的请求状态:

$.get("/user", function(data) {
    $("#user").html(data.name);
    $(".unauthenticated").hide()
    $(".authenticated").show()
}).fail(function(error) {
    // 未登录时此处会打印302或者401状态码,验证请求确实已发出但属于失败状态
    console.log("请求失败,状态码:", error.status);
});

如果需要/user接口不登录也能访问,你需要在Spring Security配置类中添加对应规则,放行/user路径的请求即可。

内容的提问来源于stack exchange,提问作者NNP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 14:27:02