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

拦截器的使用场景越来越多,尤其是面向切片编程流行之后。那通常拦截器可以做什么呢?
之前我们在Agent介绍中,提到过统计函数的调用耗时。这个思路其实和AOP的环绕增强如出一辙。
那一般来说,场景如下:
- 函数增强:比如对一个函数进行参数检查,或者结果过滤等。甚至可以对函数就行权限认证。
- 性能监控:统计函数性能。
- 日志打点:比如在用户登录函数之前,打点统计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://www.jxjierui.cn/article/hccio.html


咨询
建站咨询
