过滤器执行登录的操作流程

1、首先定义一个类继承Filter,类上加注解 @WebFilter(urlPatterns = "/*")

2、使用dofilter方法,方法中传入三个参数,分别是请求(ServletRequest re),响应(ServletResponse reo),执行dofilter方法需要到的 (FilterChain  filterChain)

3、获取请求的地址路径(将ServletRequest和ServletResponse 强转成Http),判断路径中是否包含(contains)login,如果包含则放行

4、如果路径中不含login,判断携带的token是否为空,为空,没有令牌,需登录。

流程:

通过  ObjectMapper objectMapper = new ObjectMapper()中的 String json = objectMapper.writeValueAsString(errorreasult)方法将Resault类型的响应结果转换为字符串,再通过Http中的 resp.getWriter().write(json)方法将错误信息响应给前端,不放行

5、不为空,解析token中的令牌有效性(正确性和有效期)

解析过程:

1、通过工具类 JwtUtils中的parseJWT(jwt)方法解析,解析没有异常则通过放行

2、有异常,不通过,执行(通过  ObjectMapper objectMapper = new ObjectMapper()中的 String json = objectMapper.writeValueAsString(errorreasult)方法将Resault类型的响应结果转换为字符串,再通过Http中的 resp.getWriter().write(json)方法将错误信息响应给前端,不放行)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值