Spring拦截器和AuthenticationFilter执行顺序

时间:2019-05-23 06:32:20

标签: spring spring-boot

我有一个LoginHandler和一个拦截器。我希望拦截器在AuthenticationFilter之前执行。有没有办法指定执行顺序?

已更新: 标题提到了LoginHandler。我将其更改为AuthenticationFilter

1 个答案:

答案 0 :(得分:2)

Spring的HandlerInterceptor永远不会在过滤器之前执行。

javax.servlet.Filter是Java Servlet API的一部分,在到达Filter之前,请求总是先经过Servlet实例。

HandlerInterceptor实例作为DispatcherServlet(实现javax.servlet.Servlet)内部请求处理的一部分执行。如前所述,流程为Filter-> Servlet,结果是HandlerInterceptor将始终在Filter之后执行。

您想要的就是可能的,不,不是。无论您添加到HandlerInterceptor的顺序如何。