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

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è)人覺得這個(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)文章

最新評(píng)論