java拦截器放行_分布式会话拦截器

思路

用户执行登录,注册等操作时,后端会生成一个token放入cookie中返回给前端,同时保存到redis中, 前端后续涉及验证token的http请求都需要在header中携带token和用户userId, 后端设置interceptor拦截指定请求,拿到header中的token, 后端通过 userId去redis中查找,如果查到并且二者匹配的上,次请求通过拦截,否则http请求无法到达controller

d111a4d9086fb49e79edc53475cf790f.pngimage-20200629113855412

拦截器 vs 过滤器

过滤器和拦截器有相似之处,都能对 Servlet 请求二次加工。但是过滤器并不是 SpringBoot 规范中的概念,事实上,过滤器是 Servlet 规范中的事物。

因此过滤器和拦截器的最大区别就是他们存在的空间是不一样的。

Filter 拦截器是 Servlet 中的规范,它可不依赖于 Spring,它是由 Servlet 容器 Filter 每个请求和响应。它可以在请求到达 Servlet 之前就处,因此 Filter 也总是优先于 Interceptor 执行。

2b58b3b428fff2814ff4dcb04457b453.pngimg

nterceptor 过滤器是工作在 Spring 容器中的,由 Spring 所控制,因此能和 Spring 紧密的结合,在 Spring 中使用拦截器,处理拦截行为更方便,事实上 Filter 能做的事情,Interceptor 也都能实现。

797148ce5c25f9b1aecb4f70fe914c8b.pngimg

拦截器和过滤器执行时机

5db4a5ad108554adfad4827d3cd95781.pngIjOIC

springboot 过滤器使用

https://www.baeldung.com/spring-boot-add-filter

@Component

@Order(1)

public class TransactionFilter implements Filter {

private static final Logger LOG

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值