我有一个LoginHandler和一个拦截器。我希望拦截器在AuthenticationFilter
之前执行。有没有办法指定执行顺序?
已更新:
标题提到了LoginHandler
。我将其更改为AuthenticationFilter
。
答案 0 :(得分:2)
Spring的HandlerInterceptor
永远不会在过滤器之前执行。
javax.servlet.Filter
是Java Servlet API的一部分,在到达Filter
之前,请求总是先经过Servlet
实例。
HandlerInterceptor
实例作为DispatcherServlet
(实现javax.servlet.Servlet
)内部请求处理的一部分执行。如前所述,流程为Filter
-> Servlet
,结果是HandlerInterceptor
将始终在Filter
之后执行。
您想要的就是可能的,不,不是。无论您添加到HandlerInterceptor
的顺序如何。