成都网站建设设计

将想法与焦点和您一起共享

SpringBoot快速设置拦截器并实现权限验证的方法-创新互联

一、概述

创新互联建站于2013年成立,是专业互联网技术服务公司,拥有项目成都网站建设、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元弥渡做网站,已为上家服务,为弥渡各地企业和个人服务,联系电话:18982081108

拦截器的使用场景越来越多,尤其是面向切片编程流行之后。那通常拦截器可以做什么呢?


之前我们在Agent介绍中,提到过统计函数的调用耗时。这个思路其实和AOP的环绕增强如出一辙。


那一般来说,场景如下:

  1. 函数增强:比如对一个函数进行参数检查,或者结果过滤等。甚至可以对函数就行权限认证。
  2. 性能监控:统计函数性能。
  3. 日志打点:比如在用户登录函数之前,打点统计PV等信息。

以及其他等等。


二、Spring的拦截器

无论是SpringMVC或者SpringBoot中,关于拦截器不得不提:
org.springframework.web.servlet.handler.HandlerInterceptorAdapter

public abstract class HandlerInterceptorAdapter implements AsyncHandlerInterceptor {

  // 在目标方法执行前执行
  @Override
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    return true;
  }

  // 在目标方法执行后执行,但在请求返回前,我们仍然可以对 ModelAndView进行修改
  @Override
  public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) 
             throws Exception {}

  // 在请求已经返回之后执行
  @Override
  public void afterCompletion(
      HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
      throws Exception {}

  // 用来处理异步请求, 当Controller中有异步请求方法的时候会触发该方法
  @Override
  public void afterConcurrentHandlingStarted(
      HttpServletRequest request, HttpServletResponse response, Object handler)
      throws Exception {}
}


网站名称:SpringBoot快速设置拦截器并实现权限验证的方法-创新互联
文章源于:http://chengdu.cdxwcx.cn/article/hccio.html