真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

詳解springboot攔截器

小編這次要給大家分享的是詳解spring boot攔截器,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

創(chuàng)新互聯(lián)是一家專注于做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),伊川網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:伊川等地區(qū)。伊川做網(wǎng)站價(jià)格咨詢:18980820575

前言

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

攔截器HandlerInterceptor

我們可以去實(shí)現(xiàn)這個(gè)HandlerInterceptor接口,它會(huì)把請求頁面前,請求頁面后等方法,我們可以重寫它們,把自己的邏輯加進(jìn)來,比如我們可以在請求頁面前,通過當(dāng)前登陸人ID獲取到當(dāng)前登陸人能看的信息ID集合,并把這些ID集合以參數(shù)的形式傳到這個(gè)頁面里,這個(gè)過程是在服務(wù)端自動(dòng)完成的,即對某個(gè)頁面(接口)進(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ù)編號集合
  String[] ids = {"1", "2", "3"};
  request.setAttribute("approveIds", StringUtils.join(ids, ","));
  return true;
 }
}

注冊這個(gè)攔截器

/**
 * 注冊攔截器
 */
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {

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

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

詳解spring boot攔截器

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

看完這篇關(guān)于詳解spring boot攔截器的文章,如果覺得文章內(nèi)容寫得不錯(cuò)的話,可以把它分享出去給更多人看到。


分享題目:詳解springboot攔截器
標(biāo)題URL:http://weahome.cn/article/pcjsgd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部