springboot访问接口自动跳转到登陆页面问题排查
·
1.怀疑是某个filter进行了拦截
人工排查了各个Filter,怀疑可能是漏了,
使用jvisualvm对该程序进行dump
分析其中的filter相关的对象,但是没有找到
然后想一下,一个http请求的过程,
tomcat -> engine -> host -> context -> wrapper -> ApplicationFilterChain(各种filter) ->
springframework.web.servlet(DispacherServlet.doDispatch) -> springmvc(invokeAndHandler) -> advice -> aop -> invoke 对应的方法
2.通过对DispacherServlet的断点,发现并没有进入
org.springframework.web.servlet.DispatcherServlet#doDispatch
3.于是在 filter 链中去找,发现在DefaultLoginPageGeneratingFilter中返回了登陆页面, 这个是security包中的类,于是去查找对应的解决方法,禁用security可以避免登陆页面的出现。
可以配置
@EnableAutoConfiguration(exclude = {SecurityAutoConfiguration.class})
或者
@SpringBootApplication(exclude = {SecurityAutoConfiguration.class })

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)