找回密码
 立即注册
查看: 10|回复: 0

21,拦截器interceptors,配置注册拦截器,登录成功验证整合JWT

[复制链接]

260

主题

6

精华

264

金币

技术维护QQ:515138

积分
569
发表于 4 天前 | 显示全部楼层 |阅读模式
1,编写拦截器

1.jpg

  1. package com.jinhei.interceptors;
  2. import com.jinhei.utils.JwtUtils;
  3. import jakarta.servlet.http.HttpServletRequest;
  4. import jakarta.servlet.http.HttpServletResponse;
  5. import org.springframework.stereotype.Component;
  6. import org.springframework.web.servlet.HandlerInterceptor;
  7. import java.util.Map;
  8. @Component
  9. public class LoginInterceptor implements HandlerInterceptor {
  10.     @Override
  11.     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
  12.         //请求头里面拿到令牌,令牌验证
  13.         String token = request.getHeader("Authorization");
  14.         // 验证token
  15.         try {
  16.             Map<String, Object> claims = JwtUtils.parseJWT(token);
  17.             // 放行
  18.             return true;
  19.         } catch (Exception e) {
  20.             // HTTP响应码 401
  21.             response.setStatus(401);
  22.             // 不放行
  23.             return false;
  24.         }
  25.     }
  26. }
复制代码
2,配置并注册拦截器
2.jpg

  1. package com.jinhei.config;
  2. import com.jinhei.interceptors.LoginInterceptor;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.context.annotation.Configuration;
  5. import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
  6. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  7. //配置类注解
  8. @Configuration
  9. public class WebConfig implements WebMvcConfigurer {
  10.     @Autowired
  11.     private LoginInterceptor loginInterceptor;
  12.     @Override
  13.     public void addInterceptors(InterceptorRegistry registry) {
  14.         // 注册拦截器,登录接口和注册接口不拦截
  15.         registry.addInterceptor(loginInterceptor)
  16.                 .excludePathPatterns("/user/login","/user/register");
  17.     }
  18. }
复制代码
JinheiNew.zip (65.76 KB, 下载次数: 0, 售价: 50 金币)


上一篇:20,携带头部信息进行验证
下一篇:22,获取用户信息,屏蔽密码显示问题
网站建设,公众号小程序开发,系统定制,软件App开发,技术维护【联系我们】手机/微信:17817817816 QQ:515138

QQ|Archiver|自丢网 ( 粤ICP备2024252464号-1 )

GMT+8, 2026-3-5 16:47

专注于网站建设,公众号小程序制作,商城小程序,系统定制,软件App开发

【联系我们】手机/微信:17817817816 QQ:515138

快速回复 返回顶部 返回列表