java全局校验拦截器

安全问题需求:要求所有接口都要校验token(此token是另一系统的token,所以接口是在权限框架的白名单里的,需要额外校验)
解决方法:写一个全局的拦截校验

1.第一步 写一个拦截器

public class TokenInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception

    {

        System.err.println("进入全局拦截器,路径为:"+request.getRequestURI());



// 验证登录token 这里是调用的工具类,在工具类中校验过token令牌了。此处返回true则继续调用方法,反之终止方法
        UserInfo userInfo = TokenUtil.getUserInfo(request, response);
        if(userInfo==null){
            return false;
        }
        return true;

    }
}

2.第二步 注册拦截器,使之生效

@Configuration 
public class WebMvcConfig implements WebMvcConfigurer {

    @Override   //拦截器配置
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new TokenInterceptor()) //拦截器注册对象
                .addPathPatterns("/special/**","/report/**"); //指定要拦截的请求

    }
}

3.效果如下图,ending
java全局校验拦截器_第1张图片

你可能感兴趣的:(java,java)