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

Idea中如何查看SpringSecurity各Filter信息

 更新時(shí)間:2023年01月01日 13:00:27   作者:穿條秋褲到處跑  
這篇文章主要介紹了Idea中如何查看SpringSecurity各Filter信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Filter和Filter Chain

SpringSecurity的認(rèn)證邏輯是通過(guò)Filter Chain實(shí)現(xiàn)的,一個(gè)項(xiàng)目中Filter是鏈?zhǔn)綀?zhí)行,其中一環(huán)校驗(yàn)不通過(guò),則可終止后續(xù)Filter以及Api的調(diào)用。

? ? public void doFilter(ServletRequest request, ServletResponse response,
? ? ? ? ? ? FilterChain chain) throws IOException, ServletException;

在Filter的實(shí)現(xiàn)類中,doFilter方法里調(diào)用chain的doFilter方法,表示當(dāng)前過(guò)濾器通過(guò),繼續(xù)FilterChain的下一個(gè)Filter

chain.doFilter(request, response);

Idea Evalute Expression

下面通過(guò)一個(gè)簡(jiǎn)單的項(xiàng)目,來(lái)查看一下Spring Security中的Filter

創(chuàng)建工程

通過(guò)向?qū)?chuàng)建一個(gè)springBoot工程,引入web和security依賴

? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? ? ? <artifactId>spring-boot-starter-security</artifactId>
? ? ? ? </dependency>
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? ? ? <artifactId>spring-boot-starter-web</artifactId>
? ? ? ? </dependency>

啟動(dòng)類 

@SpringBootApplication
public class SpringSecurityLearningApplication {
? ? public static void main(String[] args) {
? ? ? ? ConfigurableApplicationContext applicationContext = SpringApplication.run(SpringSecurityLearningApplication.class, args);
? ? ? ? System.out.println();
? ? }

}

SpringApplication.run()的返回值就是Spring容器,ConfigurableApplicationContext是ApplicationContext的子類。

System.out.println();是為了便于打斷點(diǎn),查看applicationContext的信息。

debug啟動(dòng)服務(wù)

evaluate expression

通過(guò)郵件選Evaluate Expression或點(diǎn)擊debugger欄位上是圖標(biāo)

點(diǎn)擊輸入框右側(cè)的雙向箭頭,切換為Code fragment模式,個(gè)人覺(jué)得這個(gè)更好用

輸入以下內(nèi)容,獲取容器中的FilterChainProxy對(duì)象,再點(diǎn)擊窗口下側(cè)的Evaluate

result中的filterChains中的filters就是Filter鏈信息,其中,UsernamePasswordAuthenticationFilter、ExceptionTranslationFilter

以及FilterSecurityInterceptor為springSecurity認(rèn)證相關(guān)的Filter。

在平時(shí)debug時(shí),如果list中的數(shù)據(jù)很多,憑肉眼去找肯定很難找,通過(guò)右鍵對(duì)象出來(lái)的filter很難用,可以通過(guò)Evaluate進(jìn)行代碼過(guò)濾,方便又快捷。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • Java各種鎖在工作中使用場(chǎng)景和細(xì)節(jié)經(jīng)驗(yàn)總結(jié)

    Java各種鎖在工作中使用場(chǎng)景和細(xì)節(jié)經(jīng)驗(yàn)總結(jié)

    本章主要說(shuō)一說(shuō)鎖在工作中的使用場(chǎng)景,主要以 synchronized 和 CountDownLatch 為例,會(huì)分別描述一下這兩種鎖的使用場(chǎng)景和姿勢(shì)
    2022-03-03
  • Mybatis使用@param注解四種情況解析

    Mybatis使用@param注解四種情況解析

    這篇文章主要介紹了Mybatis使用@param注解四種情況解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • JAVA 數(shù)據(jù)結(jié)構(gòu)之Queue處理實(shí)例代碼

    JAVA 數(shù)據(jù)結(jié)構(gòu)之Queue處理實(shí)例代碼

    這篇文章主要介紹了JAVA 數(shù)據(jù)結(jié)構(gòu)之Queue處理實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Springboot中的Controller解析

    Springboot中的Controller解析

    這篇文章主要介紹了Springboot中的Controller解析,Controller是SpringBoot的基本組件,也是MVC結(jié)構(gòu)的組成部分,其作用是將用戶提交來(lái)的請(qǐng)求通過(guò)URL匹配,分發(fā)給不同的接收器,該接收器會(huì)對(duì)其進(jìn)行相應(yīng)處理,然后返回處理結(jié)果,需要的朋友可以參考下
    2023-09-09
  • java?Spring的啟動(dòng)原理詳解

    java?Spring的啟動(dòng)原理詳解

    大家好,本篇文章主要講的是java?Spring的啟動(dòng)原理詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • JAVA如何轉(zhuǎn)換樹(shù)結(jié)構(gòu)數(shù)據(jù)代碼實(shí)例

    JAVA如何轉(zhuǎn)換樹(shù)結(jié)構(gòu)數(shù)據(jù)代碼實(shí)例

    這篇文章主要介紹了JAVA如何轉(zhuǎn)換樹(shù)結(jié)構(gòu)數(shù)據(jù)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • JVM內(nèi)存分配及String常用方法解析

    JVM內(nèi)存分配及String常用方法解析

    這篇文章主要介紹了JVM內(nèi)存分配及String常用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Java更新調(diào)度器(update scheduler)的使用詳解

    Java更新調(diào)度器(update scheduler)的使用詳解

    Java更新調(diào)度器是Java中的一個(gè)特性,可以自動(dòng)化Java應(yīng)用程序的更新過(guò)程,它提供了一種方便的方式來(lái)安排Java應(yīng)用程序的更新,確保其與最新的功能、錯(cuò)誤修復(fù)和安全補(bǔ)丁保持同步,本文將深入介紹如何使用Java更新調(diào)度器,并解釋它對(duì)Java開(kāi)發(fā)人員和用戶的好處
    2023-11-11
  • 整理Java的MyBatis框架中一些重要的功能及基本使用示例

    整理Java的MyBatis框架中一些重要的功能及基本使用示例

    這篇文章主要介紹了Java的MyBatis框架中一些重要的功能及基本使用示例整理,MyBatis可以幫助Java程序進(jìn)行強(qiáng)大的數(shù)據(jù)庫(kù)操作,需要的朋友可以參考下
    2016-04-04
  • Spring?Boot2.6.0新特性之默認(rèn)禁止循環(huán)引用

    Spring?Boot2.6.0新特性之默認(rèn)禁止循環(huán)引用

    Spring?Boot2.6.0為我們帶來(lái)很多好用的新特性/改進(jìn),這篇文章主要給大家介紹了關(guān)于Spring?Boot2.6.0新特性之默認(rèn)禁止循環(huán)引用的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02

最新評(píng)論

十堰市| 措勤县| 临猗县| 博白县| 龙海市| 东海县| 呼图壁县| 莲花县| 乐平市| 牙克石市| 塔城市| 翼城县| 特克斯县| 宁远县| 镇赉县| 白银市| 吴忠市| 康保县| 金沙县| 唐海县| 莲花县| 祥云县| 黄陵县| 崇礼县| 巴彦县| 诸城市| 长沙县| 建瓯市| 含山县| 榆林市| 崇信县| 霍城县| 武威市| 平果县| 绍兴市| 农安县| 棋牌| 巴楚县| 石河子市| 安龙县| 新安县|