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

spring Security配置攔截規(guī)則小結(jié)

 更新時間:2025年09月09日 09:58:59   作者:bug別找我  
本文介紹了使用Spring Security解決后臺管理系統(tǒng)在訪問靜態(tài)資源如圖片時需要登錄驗證的問題,通過配置攔截規(guī)則,將靜態(tài)資源路徑添加到白名單,感興趣的可以了解一下

問題描述

使用spring Security實現(xiàn)后臺管理系統(tǒng)登錄驗證加攔截,訪問圖片即靜態(tài)資源時響應(yīng)需要登錄驗證,分析問題得出結(jié)論未配置security的攔截規(guī)則,沒有對靜態(tài)資源進(jìn)行登錄放行

解決方案:

配置spring Security攔截規(guī)則,將訪問路徑添加進(jìn)入白名單中,比如博主將resources下files下的圖片設(shè)置白名單,規(guī)則就是"/files/**",以下就是博主的配置

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

	protected void configure(HttpSecurity http) throws Exception {
		http.authorizeRequests()
			.antMatchers("/files/**").permitAll()// 配置攔截規(guī)則
			.anyRequest().authenticated();
	}
 }

有關(guān)spring security的配置器相關(guān)規(guī)則

http.authorizeRequests().antMatchers("/api/**").denyAll();    //拒絕api路徑下所有的訪問

http.authorizeRequests().antMatchers("/api/**").authenticated();    //api路徑下訪問需認(rèn)證通過

http.authorizeRequests().antMatchers("/api/**").permitAll();    //api路徑下無條件允許訪問

端點保護(hù)配置

了解到這部分的知識是因為在做OAuth2認(rèn)證的時候,我發(fā)現(xiàn)項目中的安全配置已經(jīng)開放所有請求(即/**請求不進(jìn)行攔截),但是當(dāng)我訪問/oauth/token的時候竟然提示401,百思不得其解。最后發(fā)現(xiàn)原來在Spring Security中預(yù)制了一些默認(rèn)斷點保護(hù)策略。具體配置是在AuthorizationServerSecurityConfiguration

過濾規(guī)則踩到的坑

.requestMatchers().antMatchers("/test/**").and()
.authorizeRequests().antMatchers("/test/authenticated").authenticated()
.anyRequest().permitAll().and()

通過匹配規(guī)則我們可以知道這部分配置的意思是針對/test/**的請求將使用安全配置,/test/authenticated是需要認(rèn)證的,匹配/test/**且不是/test/authenticated的請求是不需要認(rèn)證的。但是在實際項目中卻遇到了一個坑,就是我訪問/test/**的任何請求都是需要認(rèn)證的,跟了源碼發(fā)現(xiàn)是使用錯誤,具體原因是因為我在繼承WebSecurityConfigurerAdapter重寫configure(HttpSecurity http)方法的最后多寫了一行代碼

super.configure(http);

我在最后又去調(diào)用了WebSecurityConfigurerAdapterconfigure(HttpSecurity http)方法

protected void configure(HttpSecurity http) throws Exception {
   logger.debug("Using default configure(HttpSecurity). If subclassed this will potentially override subclass configure(HttpSecurity).");
   http
      .authorizeRequests().anyRequest().authenticated().and()
      .formLogin().and()
      .httpBasic();
}

這個是WebSecurityConfigurerAdapter.configure方法的源碼,它默認(rèn)會對所有請求進(jìn)行過濾。有興趣的同學(xué)可以跟蹤源碼會發(fā)現(xiàn)Spring SecurityURL攔截規(guī)則最后是存放在Map中,即在super的配置會覆蓋掉自定義配置導(dǎo)致自定義配置失效,寫的比較簡潔可能不是很好理解。

到此這篇關(guān)于spring Security配置攔截規(guī)則小結(jié)的文章就介紹到這了,更多相關(guān)spring Security 攔截規(guī)則內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 透明化Sharding-JDBC數(shù)據(jù)庫字段加解密方案

    透明化Sharding-JDBC數(shù)據(jù)庫字段加解密方案

    這篇文章主要為大家介紹了透明化Sharding-JDBC數(shù)據(jù)庫字段加解密方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-02-02
  • Java實現(xiàn)的簡單字符串反轉(zhuǎn)操作示例

    Java實現(xiàn)的簡單字符串反轉(zhuǎn)操作示例

    這篇文章主要介紹了Java實現(xiàn)的簡單字符串反轉(zhuǎn)操作,結(jié)合實例形式分別描述了java遍歷逆序輸出以及使用StringBuffer類的reverse()方法兩種字符串反轉(zhuǎn)操作技巧,需要的朋友可以參考下
    2018-08-08
  • idea中database不顯示問題的解決

    idea中database不顯示問題的解決

    這篇文章主要介紹了idea中database不顯示問題的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 淺談一下Java為什么不能使用字符流讀取非文本的二進(jìn)制文件

    淺談一下Java為什么不能使用字符流讀取非文本的二進(jìn)制文件

    這篇文章主要介紹了淺談一下為什么不能使用字符流讀取非文本的二進(jìn)制文件,剛學(xué)Java的IO流部分時,書上說只能使用字節(jié)流去讀取圖片、視頻等非文本二進(jìn)制文件,不能使用字符流,否則文件會損壞,需要的朋友可以參考下
    2023-04-04
  • mybatis實現(xiàn)表與對象的關(guān)聯(lián)關(guān)系_動力節(jié)點Java學(xué)院整理

    mybatis實現(xiàn)表與對象的關(guān)聯(lián)關(guān)系_動力節(jié)點Java學(xué)院整理

    這篇文章主要介紹了mybatis實現(xiàn)表與對象的關(guān)聯(lián)關(guān)系_動力節(jié)點Java學(xué)院整理,需要的朋友可以參考下
    2017-09-09
  • Java 8 Stream 的終極技巧——Collectors 功能與操作方法詳解

    Java 8 Stream 的終極技巧——Collectors 功能與操作方法詳解

    這篇文章主要介紹了Java 8 Stream Collectors 功能與操作方法,結(jié)合實例形式詳細(xì)分析了Java 8 Stream Collectors 功能、操作方法及相關(guān)注意事項,需要的朋友可以參考下
    2020-05-05
  • 詳解基于redis實現(xiàn)分布式鎖

    詳解基于redis實現(xiàn)分布式鎖

    系統(tǒng)的不斷擴大,分布式鎖是最基本的保障。與單機的多線程不一樣的是,分布式跨多個機器。線程的共享變量無法跨機器。本文將介紹基于redis實現(xiàn)分布式鎖。
    2021-06-06
  • java gui實現(xiàn)計算器小程序

    java gui實現(xiàn)計算器小程序

    這篇文章主要為大家詳細(xì)介紹了java gui實現(xiàn)計算器小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 解決maven加載依賴時遇到的問題

    解決maven加載依賴時遇到的問題

    這篇文章主要介紹了解決maven加載依賴時遇到的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • hystrix服務(wù)降級方法使用介紹

    hystrix服務(wù)降級方法使用介紹

    什么是服務(wù)降級?當(dāng)服務(wù)器壓力劇增的情況下,根據(jù)實際業(yè)務(wù)情況及流量,對一些服務(wù)和頁面有策略的不處理或換種簡單的方式處理,從而釋放服務(wù)器資源以保證核心交易正常運作或高效運作
    2022-09-09

最新評論