最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

spring boot攔截器的使用場(chǎng)景示例詳解

 更新時(shí)間:2020年05月31日 15:30:16   作者:張占嶺  
這篇文章主要給大家介紹了關(guān)于spring boot攔截器的使用場(chǎng)景,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

在用戶登陸之后,我們一般會(huì)把用戶登陸的狀態(tài)和相關(guān)信息進(jìn)行存儲(chǔ),把對(duì)應(yīng)的token返回到客戶端進(jìn)行存儲(chǔ),下次請(qǐng)求過來(lái)時(shí),系統(tǒng)可以通過token拿到當(dāng)前這個(gè)用戶的相關(guān)信息,這是授權(quán)通常的作法,而有時(shí)一些業(yè)務(wù)里,你存儲(chǔ)的用戶信息不是全局的,可能只是某幾個(gè)接口會(huì)用戶某些信息,而你把它存儲(chǔ)起來(lái)就不是很合理;并且一些隱私信息持久化到redis也不合理,這時(shí)就需要統(tǒng)一對(duì)這種接口的請(qǐng)求做一起處理了。

攔截器HandlerInterceptor

我們可以去實(shí)現(xiàn)這個(gè)HandlerInterceptor接口,它會(huì)把請(qǐng)求頁(yè)面前,請(qǐng)求頁(yè)面后等方法,我們可以重寫它們,把自己的邏輯加進(jìn)來(lái),比如我們可以在請(qǐng)求頁(yè)面前,通過當(dāng)前登陸人ID獲取到當(dāng)前登陸人能看的信息ID集合,并把這些ID集合以參數(shù)的形式傳到這個(gè)頁(yè)面里,這個(gè)過程是在服務(wù)端自動(dòng)完成的,即對(duì)某個(gè)頁(yè)面(接口)進(jìn)行攔截,添加自己的邏輯。

/**
 * 當(dāng)前用戶的數(shù)據(jù)權(quán)限.
 */
@Slf4j
public class DataPermissionInterceptor implements HandlerInterceptor {
 @Override
 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
  logger.info("DataPermissionInterceptor.init");
  //業(yè)務(wù)邏輯,可能判斷當(dāng)前登陸人存儲(chǔ)的數(shù)據(jù)權(quán)限類型,然后統(tǒng)一處理,拿到可以訪問的數(shù)據(jù)編號(hào)集合
  String[] ids = {"1", "2", "3"};
  request.setAttribute("approveIds", StringUtils.join(ids, ","));
  return true;
 }
}

注冊(cè)這個(gè)攔截器

/**
 * 注冊(cè)攔截器
 */
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {

 @Override
 public void addInterceptors(InterceptorRegistry registry) {
  // 自定義攔截器,添加攔截路徑和排除攔截路徑
  registry.addInterceptor(new DataPermissionInterceptor()).addPathPatterns("/approve/**");
 }
}

在對(duì)應(yīng)的頁(yè)面(接口)里讀取在攔截器里賦值的對(duì)象,就可以進(jìn)行剩下的工作了。

通過這個(gè)例子我們了解到,對(duì)一些具有統(tǒng)一操作的動(dòng)作,我們可以把它提取到攔截器里去完成。

總結(jié)

到此這篇關(guān)于spring boot攔截器的使用場(chǎng)景的文章就介紹到這了,更多相關(guān)springboot攔截器使用場(chǎng)景內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java微信支付之公眾號(hào)支付、掃碼支付實(shí)例

    Java微信支付之公眾號(hào)支付、掃碼支付實(shí)例

    微信支付已經(jīng)成為生活中必不可少的付款方式,本篇文章主要介紹了Java微信支付之公眾號(hào)支付、掃碼支付,有需要的小伙伴可以了解一下。
    2016-11-11
  • 如何判斷java是32位的還是64位的

    如何判斷java是32位的還是64位的

    這篇文章主要介紹了如何判斷java是32位的還是64位的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Spring @ComponentScan注解掃描組件原理

    Spring @ComponentScan注解掃描組件原理

    這篇文章主要介紹了Spring @ComponentScan自動(dòng)掃描組件使用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • SpringSecurityOAuth2 如何自定義token信息

    SpringSecurityOAuth2 如何自定義token信息

    這篇文章主要介紹了SpringSecurityOAuth2 自定義token信息的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • java基于servlet實(shí)現(xiàn)文件上傳功能

    java基于servlet實(shí)現(xiàn)文件上傳功能

    這篇文章主要為大家詳細(xì)介紹了java基于servlet實(shí)現(xiàn)文件上傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • 詳解java中的synchronized關(guān)鍵字

    詳解java中的synchronized關(guān)鍵字

    這篇文章主要介紹了java中的synchronized關(guān)鍵字,可用來(lái)給對(duì)象和方法或者代碼塊加鎖,當(dāng)它鎖定一個(gè)方法或者一個(gè)代碼塊的時(shí)候,同一時(shí)刻最多只有一個(gè)線程執(zhí)行這段代碼,感興趣的小伙伴們可以參考一下
    2015-12-12
  • Spark SerializedLambda錯(cuò)誤的兩種解決方案

    Spark SerializedLambda錯(cuò)誤的兩種解決方案

    這篇文章主要介紹了Spark SerializedLambda錯(cuò)誤的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java使用Socket簡(jiǎn)單通訊詳解

    Java使用Socket簡(jiǎn)單通訊詳解

    這篇文章主要介紹了Java使用Socket簡(jiǎn)單通訊詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 基于mybatis查詢結(jié)果映射不到對(duì)象的處理

    基于mybatis查詢結(jié)果映射不到對(duì)象的處理

    這篇文章主要介紹了mybatis查詢結(jié)果映射不到對(duì)象的處理方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Kotlin教程之函數(shù)和包的定義和流程控制

    Kotlin教程之函數(shù)和包的定義和流程控制

    這篇文章主要介紹了Kotlin教程之函數(shù)和包的定義和流程控制的相關(guān)資料,需要的朋友可以參考下
    2017-05-05

最新評(píng)論

岳西县| 滦平县| 肥城市| 昆明市| 特克斯县| 县级市| 天津市| 闻喜县| 甘孜| 汾西县| 南郑县| 吴旗县| 抚宁县| 尖扎县| 南漳县| 鹤岗市| 临潭县| 内江市| 临朐县| 合阳县| 唐河县| 阿鲁科尔沁旗| 贡觉县| 泌阳县| 西贡区| 广东省| 吕梁市| 封丘县| 沂南县| 鄂州市| 岑溪市| 博白县| 剑阁县| 苍溪县| 改则县| 肃北| 黑山县| 阿城市| 东丰县| 广灵县| 遵化市|