【项目精讲】拦截器相关InterceptorRegistry类+代码实现

本文介绍了在SpringWeb应用中使用JWT进行身份验证时,如何通过InterceptorRegistry配置拦截器,包括添加路径、排除路径、执行顺序以及注册默认拦截器的方法和示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么作用

  1. 在我们使用JWT令牌进行身份验证的时候,需要用到拦截器。
  2. 在处理请求的不同阶段进行拦截和处理,然后去判断该请求是否满足***
  3. 拦截器是一种常见的AOP面向切面编程技术

InterceptorRegistry

  1. 拦截和处理请求。拦截器可以是实现了 HandlerInterceptor 接口的任意对象,例如身份验证拦截器、日志记录拦截器等。

  2. 配置拦截器的拦截路径:InterceptorRegistry 类提供了 addPathPatterns 方法,可以配置拦截器的拦截路径,即拦截哪些请求。可以使用 Ant 样式的 URL 路径模式来配置拦截路径,例如 /admin/** 表示拦截所有以 /admin/开头的请求。

  3. 配置拦截器的排除路径:InterceptorRegistry 类提供了 excludePathPatterns 方法,可以配置拦截器的排除路径,即哪些请求不需要被拦截。可以使用 Ant 样式的 URL 路径模式来配置排除路径,例如 /public/** 表示不拦截所有以 /public/ 开头的请求。

  4. 配置拦截器的执行顺序:InterceptorRegistry 类提供了 order 方法,可以配置拦截器的执行顺序。拦截器的执行顺序按照注册的顺序决定,可以使用 order 方法指定拦截器的执行顺序,数值越小的拦截器越先执行。

  5. 注册默认拦截器:InterceptorRegistry 类提供了 addInterceptor 方法的重载方法,可以注册 Spring Web 框架提供的默认拦截器,例如 LocaleChangeInterceptor、ThemeChangeInterceptor 等。

代码实现

@Autowired
private JwtTokenUserInterceptor jwtTokenUserInterceptor;

 protected void addInterceptors(InterceptorRegistry registry) {
    registry.addInterceptor(jwtTokenUserInterceptor)
            // 拦截以user开头的所有请求
            .addPathPatterns("/user/**")
            // 以下请求不用拦截:用户登录
            .excludePathPatterns("/user/user/login")
}

参考

https://blog.youkuaiyun.com/zhoqua697/article/details/130868110

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值