springboot 拦截器处理过滤token,并且返回结果
public class ParamInterceptor implements HandlerInterceptor {
private Logger LOG = Logger.getLogger(ParamInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
String token = httpServletRequest.getHeader("token");
//LOG.info(token)
if(!"aOXnjYZyn==".equals(token)){
PrintWriter writer = null;
httpServletResponse.setCharacterEncoding("UTF-8");
httpServletResponse.setContentType("text/html; charset=utf-8");
try {
writer = httpServletResponse.getWriter();
String error = "token信息有误";
writer.print(error);
return false;
} catch (IOException e) {
LOG.error("response error",e);
} finally {
if (writer != null)
writer.close();
}
}
return true;
}
@Override
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
}
}
添加拦截器配置
/***
* @Desciption: 拦截器
* @Date: 13:53 2018/1/15
* @return
*/
@Configuration
public class InterceptorConfig extends WebMvcConfigurerAdapter {
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new ParamInterceptor()).addPathPatterns("/**");
}
}
本文介绍了一个使用SpringBoot实现的拦截器案例,该拦截器主要用于处理HTTP请求中的token验证过程。当请求头中的token不符合预设值时,拦截器会阻止请求继续执行并返回错误信息。
3万+

被折叠的 条评论
为什么被折叠?



