欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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");
        //判斷用戶是否有權(quán)限進(jìn)入商家管理后臺系統(tǒng)
        if(person != null && person.getUserId() > 0
                && person.getEnableStatus() == 1 && person.getPersonType() == 2){
            //如果驗(yàn)證通過,則返回true,放行請求,即用戶接下來的操作可以正常執(zhí)行
            return true;
        }
        //如果不滿足登陸驗(yàn)證,則跳轉(zhuǎn)到登陸頁面
        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");
        //判斷用戶是否有權(quán)限進(jìn)入超級管理員后臺系統(tǒng)
        if(person != null && person.getUserId() > 0
                && person.getEnableStatus() == 1 && person.getPersonType() == 3){
            //如果驗(yàn)證通過,則返回true,放行請求,即用戶接下來的操作可以正常執(zhí)行
            return true;
        }
        //如果不滿足登陸驗(yàn)證,則跳轉(zhuǎn)到登陸頁面
        response.sendRedirect("/o2o/local/to_login");
        return false;
    }
}

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

<!--攔截器鏈-->
<mvc:interceptors>
    <!--攔截器1,對商家管理系統(tǒng)進(jìn)行權(quán)限驗(yàn)證-->
    <mvc:interceptor>
        <!--指定攔截的請求-->
        <mvc:mapping path="/shop_admin/**"/>
        <!--指定使用的自定義攔截器類-->
        <bean class="com.cd.o2o.interceptor.ShopAdminInterceptor"/>
    </mvc:interceptor>
    <!--攔截器2,對超級管理員系統(tǒng)進(jìn)行權(quán)限驗(yàn)證-->
    <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拋棄了復(fù)雜的xml配置,我們可以自定義配置類(標(biāo)注@Configuration注解的類)來實(shí)現(xiàn)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)進(jìn)行權(quán)限驗(yàn)證
        InterceptorRegistration registration1 = registry.addInterceptor(new ShopAdminInterceptor());
        //指定攔截器1要攔截的請求(支持*通配符)
        registration1.addPathPatterns("/shop_admin/**");
        //注冊攔截器2,對超級管理員系統(tǒng)進(jìn)行權(quán)限驗(yàn)證
        InterceptorRegistration registration2 = registry.addInterceptor(new SuperAdminInterceptor());
        /*指定攔截器2要攔截的請求(支持*通配符)*/
        registration2.addPathPatterns("/super_admin/**");
        //指定攔截器2不攔截的請求(支持*通配符)
        registration2.excludePathPatterns("/super/toLogin");
    }
}

以java形式定制MVC配置時(shí),實(shí)現(xiàn)WebMvcConfigurer接口即可,不要在@Configuration class上標(biāo)注@EnableWebMvc (因?yàn)锧EnableWebMvc是默認(rèn)沒有靜態(tài)資源放行的,即.css .jpg .js等文件默認(rèn)會(huì)被DispatcherServlet以/形式攔截)

@Configuration
@EnableWebMvc
public class MyWebAppConfiguration implements WebMvcConfigurer{
}

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

cd4356

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

相關(guān)文章

  • java時(shí)間段查詢將00:00:00更換成23:59:59

    java時(shí)間段查詢將00:00:00更換成23:59:59

    本文主要介紹了java時(shí)間段查詢將00:00:00更換成23:59:59,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 詳解Maven環(huán)境的搭建與idea配置

    詳解Maven環(huán)境的搭建與idea配置

    本篇文章主要介紹了詳解Maven環(huán)境的搭建與idea配置,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • SpringBoot深入理解之內(nèi)置web容器及配置的總結(jié)

    SpringBoot深入理解之內(nèi)置web容器及配置的總結(jié)

    今天小編就為大家分享一篇關(guān)于SpringBoot深入理解之內(nèi)置web容器及配置的總結(jié),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Java快速排序及求數(shù)組中第k小的值解析

    Java快速排序及求數(shù)組中第k小的值解析

    這篇文章主要介紹了Java快速排序及求數(shù)組中第k小的值解析,選一個(gè)中間值,把數(shù)組中比它小的元素放到左邊,比它大的元素放到右邊,這時(shí)形成三個(gè)子數(shù)組,分別是中間值,比它大的數(shù)和比它小的數(shù),然后對前后兩個(gè)數(shù)組進(jìn)行遞歸,需要的朋友可以參考下
    2023-11-11
  • java實(shí)現(xiàn)文件導(dǎo)入導(dǎo)出

    java實(shí)現(xiàn)文件導(dǎo)入導(dǎo)出

    這篇文章主要介紹了java實(shí)現(xiàn)文件導(dǎo)入導(dǎo)出的方法和具體示例代碼,非常的簡單實(shí)用,有需要的小伙伴可以參考下
    2016-04-04
  • Maven項(xiàng)目引用第三方j(luò)ar包找不到類ClassNotFoundException

    Maven項(xiàng)目引用第三方j(luò)ar包找不到類ClassNotFoundException

    這篇文章主要為大家介紹了Maven項(xiàng)目引用第三方j(luò)ar包找不到類ClassNotFoundException解決及原因分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Java編程刪除鏈表中重復(fù)的節(jié)點(diǎn)問題解決思路及源碼分享

    Java編程刪除鏈表中重復(fù)的節(jié)點(diǎn)問題解決思路及源碼分享

    這篇文章主要介紹了Java編程刪除鏈表中重復(fù)的節(jié)點(diǎn)問題解決思路及源碼分享,具有一定參考價(jià)值,這里分享給大家,供需要的朋友了解。
    2017-10-10
  • java實(shí)現(xiàn)飛機(jī)游戲代碼

    java實(shí)現(xiàn)飛機(jī)游戲代碼

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)飛機(jī)游戲代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 微信js sdk invalid signature簽名錯(cuò)誤問題的解決方法分析

    微信js sdk invalid signature簽名錯(cuò)誤問題的解決方法分析

    這篇文章主要介紹了微信js sdk invalid signature簽名錯(cuò)誤問題的解決方法,結(jié)合實(shí)例形式分析了微信簽名錯(cuò)誤問題相關(guān)解決方法,需要的朋友可以參考下
    2019-04-04
  • Java外觀模式解讀,讓你的代碼優(yōu)雅又高效

    Java外觀模式解讀,讓你的代碼優(yōu)雅又高效

    外觀模式(Facade?Pattern)是一種常用的結(jié)構(gòu)型設(shè)計(jì)模式,它為復(fù)雜的子系統(tǒng)提供一個(gè)簡單的接口,隱藏復(fù)雜的實(shí)現(xiàn)細(xì)節(jié),本文就來講講它是如何簡化代碼,提高可維護(hù)性的
    2023-05-05

最新評論