首页 > 编程语言 >java获取前端的token并验证与拦截器

java获取前端的token并验证与拦截器

时间:2023-02-26 11:00:51浏览次数:37  
标签:拦截器 java 请求 public token 放行 response

请求时获取token并验证

public class MyInterceptor implements HandlerInterceptor {
        //方法执行前进行拦截
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //从请求头部中中获取到token
        String token = request.getHeader("token");
        //如果token为null
        if (token==null){
            //返回用户未登录
            response.setContentType("application/json");
            response.setCharacterEncoding("utf-8");
            response.getWriter().write("未登录!");
            return false;
        }
        //如果token不为null值,但是有可能token是错误的所以需要 使用jwtutils进行token的认证
        Boolean aBoolean = JWTUtils.verifyToken(token);
        if (!aBoolean){
            //用户token解密失败!则返回前端 用户登录异常
            response.setContentType("application/json");
            response.setCharacterEncoding("utf-8");
            response.getWriter().write("登录异常!");
            return false;
        }
        //如果没有问题,则继续放行该请求 说明用户已经登录
        return true;
    }
}

 拦截器

@Configuration
public class MyWebConfig implements WebMvcConfigurer {
    //添加拦截器,配置哪些请求需要经过拦截,哪些请求直接放行
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
//        将自定义拦截器注册到webmvc中,同时设置哪些氢气进行拦截 哪些请求进行放行
        registry.addInterceptor(new MyInterceptor())
                .addPathPatterns("/**")//拦截的
                .excludePathPatterns("/verify/**")//放行的
                .excludePathPatterns("/edition/**");//放行的
    }
}

  

标签:拦截器,java,请求,public,token,放行,response
From: https://www.cnblogs.com/xbinbin/p/17156278.html

相关文章