【发布时间】:2019-05-23 06:32:19
【问题描述】:
我有一个 LoginHandler 和一个 Interceptor。我希望拦截器在AuthenticationFilter 之前执行。有没有办法指定执行顺序?
更新:
标题提到了LoginHandler。我把它改成了AuthenticationFilter。
【问题讨论】:
-
spring 中的执行顺序通常使用
org.springframework.core.Ordered接口指定,不确定这是否适用于您的情况,但您可以试一试。 -
如果你想在组件的生命周期中执行一些东西,那么参考文档部分:docs.spring.io/spring/docs/5.1.7.RELEASE/…如果你想拦截该方法,那么你可以使用spring AOP。
-
@SudhirDhumal 我不是在问如何实现
Interceptors,因为我已经有了一个拦截器。我要问的是拦截器如何优先于AuthenticationFilter -
拦截器总是在过滤器之后执行。过滤器是 servlet 规范的一部分,拦截器作为
DispatcherServlet的请求处理的一部分执行。过滤器总是在 servlet 之前执行,因此拦截器总是在过滤器之后调用。没有注释,订购可以改变这一点。
标签: spring spring-boot