SpringBoot如何添加拦截器
2018-07-10 13:08
639 查看
/** * * 注册拦截器 * Created by SYSTEM on 2017/8/16. */ public class WebAppConfig extends WebMvcConfigurerAdapter { @Override public void addInterceptors(InterceptorRegistry registry) { //注册自定义拦截器,添加拦截路径和排除拦截路径 registry.addInterceptor(new InterceptorConfig()).addPathPatterns("api/path/**").excludePathPatterns("api/path/login"); } }
在web开发的过程中,为了实现登录权限验证,我们往往需要添加一个拦截器在用户的的请求到达controller层的时候实现登录验证,那么SpringBoot如何添加拦截器呢?
步骤如下:
1.继承WebMvcConfigureAdapter类,覆盖其addInterceptors接口,注册我们自定义的拦截器:
public class InterceptorConfig implements HandlerInterceptor{ private static final Logger log = LoggerFactory.getLogger(InterceptorConfig.class); /** * 进入controller层之前拦截请求 * @param httpServletRequest * @param httpServletResponse * @param o * @return * @throws Exception */ @Override public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception { log.info("---------------------开始进入请求地址拦截----------------------------"); HttpSession session = httpServletRequest.getSession(); if(!StringUtils.isEmpty(session.getAttribute("userName"))){ return true; } else{ PrintWriter printWriter = httpServletResponse.getWriter(); printWriter.write("{code:0,message:\"session is invalid,please login again!\"}"); return false; } } @Override public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception { log.info("--------------处理请求完成后视图渲染之前的处理操作---------------"); } @Override public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception { log.info("---------------视图渲染之后的操作-------------------------0"); } }
这样我们就可以在用户请求到达controller层实现登录拦截了,所有用户请求都会被拦截,在prehandle方法进行登录判断,返回true则验证通过,否则失败
相关文章推荐
- SpringBoot如何添加拦截器
- spring boot如何添加拦截器
- springboot中如何添加第三方的jar包或者说如何配置本地jar
- spring boot如何使用spring AOP实现拦截器
- spring boot之如何添加filter
- spring boot 添加拦截器
- springboot的拦截器如何注入service为空的问题解决方式
- 在spring-boot工程中添加spring mvc拦截器
- spring boot 添加 拦截器
- SpringBoot添加自定义拦截器的实现代码
- spring boot项目添加拦截器验证token防止表单重复提交
- java 关于Spring中Aop的简单理解以及SpringBoot如何添加Aop实现步骤
- 如何在Spring-Boot中使用拦截器?
- spring-boot添加自定义拦截器
- SpringBoot之拦截器对数据库的访问
- 为struts的action添加到SPRING的AOP日志拦截器
- Springboot 添加JdbcTemplates 访问mysql 数据库
- 如何保证 spring-boot 和 spring-cloud版本一致
- SpringBoot中如何集成Mybaits PageHelper分页插件