SpringBoot快速設(shè)置攔截器并實(shí)現(xiàn)權(quán)限驗(yàn)證的方法-創(chuàng)新互聯(lián)

一、概述

創(chuàng)新互聯(lián)建站于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元彌渡做網(wǎng)站,已為上家服務(wù),為彌渡各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

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


之前我們在Agent介紹中,提到過統(tǒng)計(jì)函數(shù)的調(diào)用耗時(shí)。這個(gè)思路其實(shí)和AOP的環(huán)繞增強(qiáng)如出一轍。


那一般來說,場景如下:

  1. 函數(shù)增強(qiáng):比如對一個(gè)函數(shù)進(jìn)行參數(shù)檢查,或者結(jié)果過濾等。甚至可以對函數(shù)就行權(quán)限認(rèn)證。
  2. 性能監(jiān)控:統(tǒng)計(jì)函數(shù)性能。
  3. 日志打點(diǎn):比如在用戶登錄函數(shù)之前,打點(diǎn)統(tǒng)計(jì)PV等信息。

以及其他等等。


二、Spring的攔截器

無論是SpringMVC或者SpringBoot中,關(guān)于攔截器不得不提:
org.springframework.web.servlet.handler.HandlerInterceptorAdapter

public abstract class HandlerInterceptorAdapter implements AsyncHandlerInterceptor {

  // 在目標(biāo)方法執(zhí)行前執(zhí)行
  @Override
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    return true;
  }

  // 在目標(biāo)方法執(zhí)行后執(zhí)行,但在請求返回前,我們?nèi)匀豢梢詫?ModelAndView進(jìn)行修改
  @Override
  public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) 
             throws Exception {}

  // 在請求已經(jīng)返回之后執(zhí)行
  @Override
  public void afterCompletion(
      HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
      throws Exception {}

  // 用來處理異步請求, 當(dāng)Controller中有異步請求方法的時(shí)候會觸發(fā)該方法
  @Override
  public void afterConcurrentHandlingStarted(
      HttpServletRequest request, HttpServletResponse response, Object handler)
      throws Exception {}
}

新聞名稱:SpringBoot快速設(shè)置攔截器并實(shí)現(xiàn)權(quán)限驗(yàn)證的方法-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://bm7419.com/article0/hccio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站改版、做網(wǎng)站網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名