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

Springboot重寫addInterceptors()方法配置攔截器實例

 更新時間:2023年09月20日 11:04:40   作者:CD4356  
這篇文章主要介紹了Springboot重寫addInterceptors()方法配置攔截器實例,spring?boot拋棄了復雜的xml配置,我們可以自定義配置類(標注@Configuration注解的類)來實現WebMvcConfigurer接口,并重寫addInterceptors()方法來配置攔截器,需要的朋友可以參考下

Springboot重寫addInterceptors()方法配置攔截器實例

ShopAdminInterceptor (自定義攔截器類1)

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ShopAdminInterceptor extends HandlerInterceptorAdapter {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //獲取用戶登陸信息
        Person person = (Person) request.getSession().getAttribute("person");
        //判斷用戶是否有權限進入商家管理后臺系統(tǒng)
        if(person != null && person.getUserId() > 0
                && person.getEnableStatus() == 1 && person.getPersonType() == 2){
            //如果驗證通過,則返回true,放行請求,即用戶接下來的操作可以正常執(zhí)行
            return true;
        }
        //如果不滿足登陸驗證,則跳轉到登陸頁面
        response.sendRedirect("/o2o/local/to_login");
        return false;
    }
}

SuperAdminInterceptor (自定義攔截器類2)

import com.cd.o2o2.entity.Person;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SuperAdminInterceptor extends HandlerInterceptorAdapter {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //獲取用戶登陸信息
        Person person = (Person) request.getSession().getAttribute("person");
        //判斷用戶是否有權限進入超級管理員后臺系統(tǒng)
        if(person != null && person.getUserId() > 0
                && person.getEnableStatus() == 1 && person.getPersonType() == 3){
            //如果驗證通過,則返回true,放行請求,即用戶接下來的操作可以正常執(zhí)行
            return true;
        }
        //如果不滿足登陸驗證,則跳轉到登陸頁面
        response.sendRedirect("/o2o/local/to_login");
        return false;
    }
}

使用SSM開發(fā)web應用時,配置攔截器的方式:

<!--攔截器鏈-->
<mvc:interceptors>
    <!--攔截器1,對商家管理系統(tǒng)進行權限驗證-->
    <mvc:interceptor>
        <!--指定攔截的請求-->
        <mvc:mapping path="/shop_admin/**"/>
        <!--指定使用的自定義攔截器類-->
        <bean class="com.cd.o2o.interceptor.ShopAdminInterceptor"/>
    </mvc:interceptor>
    <!--攔截器2,對超級管理員系統(tǒng)進行權限驗證-->
    <mvc:interceptor>
        <!--指定攔截的請求-->
        <mvc:mapping path="/super_admin/**"/>
        <!--指定不攔截的請求-->
        <mvc:exclude-mapping path="/super/toLogin"/>
        <!--指定使用的自定義攔截器類-->
        <bean class="com.cd.o2o.interceptor.SuperAdminInterceptor"/>
    </mvc:interceptor>
</mvc:interceptors>

spring boot拋棄了復雜的xml配置,我們可以自定義配置類(標注@Configuration注解的類)來實現WebMvcConfigurer接口,并重寫addInterceptors()方法來配置攔截器:

import com.cd.o2o2.interceptor.ShopAdminInterceptor;
import com.cd.o2o2.interceptor.SuperAdminInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class MyWebAppConfiguration implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //注冊攔截器1,對商家管理系統(tǒng)進行權限驗證
        InterceptorRegistration registration1 = registry.addInterceptor(new ShopAdminInterceptor());
        //指定攔截器1要攔截的請求(支持*通配符)
        registration1.addPathPatterns("/shop_admin/**");
        //注冊攔截器2,對超級管理員系統(tǒng)進行權限驗證
        InterceptorRegistration registration2 = registry.addInterceptor(new SuperAdminInterceptor());
        /*指定攔截器2要攔截的請求(支持*通配符)*/
        registration2.addPathPatterns("/super_admin/**");
        //指定攔截器2不攔截的請求(支持*通配符)
        registration2.excludePathPatterns("/super/toLogin");
    }
}

以java形式定制MVC配置時,實現WebMvcConfigurer接口即可,不要在@Configuration class上標注@EnableWebMvc (因為@EnableWebMvc是默認沒有靜態(tài)資源放行的,即.css .jpg .js等文件默認會被DispatcherServlet以/形式攔截)

@Configuration
@EnableWebMvc
public class MyWebAppConfiguration implements WebMvcConfigurer{
}

否則所有的靜態(tài)資源css,js等都會被攔截

cd4356

到此這篇關于Springboot重寫addInterceptors()方法配置攔截器實例的文章就介紹到這了,更多相關重寫addInterceptors()配置攔截器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Mybatis攔截器實現公共字段填充的示例代碼

    Mybatis攔截器實現公共字段填充的示例代碼

    本文介紹了使用Spring Boot和MyBatis實現公共字段的自動填充功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • C語言實現矩陣運算案例詳解

    C語言實現矩陣運算案例詳解

    這篇文章主要介紹了C語言實現矩陣運算案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • 在idea中如何使用Typora編輯markdown文件

    在idea中如何使用Typora編輯markdown文件

    這篇文章主要介紹了在idea中如何使用Typora編輯markdown文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • RateLimiter 源碼分析

    RateLimiter 源碼分析

    本文主要對ratelimiter的常用方法以及源碼進行了分析解讀,具有一定參考價值,需要的朋友可以了解下。
    2017-09-09
  • 教你利用SpringBoot寫一個屬于自己的Starter

    教你利用SpringBoot寫一個屬于自己的Starter

    如果我們將可獨立于業(yè)務代碼之外的功配置模塊封裝成一個個starter,復用的時候只需要將其在pom中引用依賴即可,SpringBoot為我們完成自動裝配,簡直不要太爽,這篇文章主要給大家介紹了關于如何利用SpringBoot寫一個屬于自己的Starter,需要的朋友可以參考下
    2022-03-03
  • Spring單元測試類ApplicationTests錯誤的解決

    Spring單元測試類ApplicationTests錯誤的解決

    這篇文章主要介紹了Spring單元測試類ApplicationTests錯誤的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Idea+maven搭建SSH(struts2+hibernate5+spring5)環(huán)境的方法步驟

    Idea+maven搭建SSH(struts2+hibernate5+spring5)環(huán)境的方法步驟

    這篇文章主要介紹了Idea+maven搭建SSH(struts2+hibernate5+spring5)環(huán)境的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • SpringBoot org.springframework.beans.factory.UnsatisfiedDependencyException依賴注入異常

    SpringBoot org.springframework.beans.factory.Unsatisfie

    本文主要介紹了SpringBoot org.springframework.beans.factory.UnsatisfiedDependencyException依賴注入異常,文中通過示例代碼介紹的很詳細,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • java生成json實現隱藏掉關鍵屬性

    java生成json實現隱藏掉關鍵屬性

    這篇文章主要介紹了java生成json實現隱藏掉關鍵屬性,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Springmvc RequestMapping請求實現方法解析

    Springmvc RequestMapping請求實現方法解析

    這篇文章主要介紹了Springmvc RequestMapping請求實現方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09

最新評論

灯塔市| 沙坪坝区| 同德县| 原阳县| 东阳市| 买车| 海淀区| 扎囊县| 建阳市| 宁南县| 陈巴尔虎旗| 正镶白旗| 南溪县| 清河县| 东安县| 荔波县| 运城市| 缙云县| 屏山县| 特克斯县| 高雄县| 突泉县| 舟山市| 遂川县| 沾益县| 个旧市| 石渠县| 黔东| 中牟县| 辰溪县| 连平县| 乳山市| 华亭县| 合阳县| 尼玛县| 犍为县| 宜阳县| 东方市| 获嘉县| 辉南县| 甘孜|