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

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)資源時響應需要登錄驗證,分析問題得出結(jié)論未配置security的攔截規(guī)則,沒有對靜態(tài)資源進行登錄放行

解決方案:

配置spring Security攔截規(guī)則,將訪問路徑添加進入白名單中,比如博主將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路徑下訪問需認證通過

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

端點保護配置

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

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

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

通過匹配規(guī)則我們可以知道這部分配置的意思是針對/test/**的請求將使用安全配置,/test/authenticated是需要認證的,匹配/test/**且不是/test/authenticated的請求是不需要認證的。但是在實際項目中卻遇到了一個坑,就是我訪問/test/**的任何請求都是需要認證的,跟了源碼發(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方法的源碼,它默認會對所有請求進行過濾。有興趣的同學可以跟蹤源碼會發(fā)現(xiàn)Spring SecurityURL攔截規(guī)則最后是存放在Map中,即在super的配置會覆蓋掉自定義配置導致自定義配置失效,寫的比較簡潔可能不是很好理解。

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

相關(guān)文章

  • Java后端SSM框架圖片上傳功能實現(xiàn)方法解析

    Java后端SSM框架圖片上傳功能實現(xiàn)方法解析

    這篇文章主要介紹了Java后端SSM框架圖片上傳功能實現(xiàn)方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • Springboot+QueryDsl實現(xiàn)融合數(shù)據(jù)查詢

    Springboot+QueryDsl實現(xiàn)融合數(shù)據(jù)查詢

    這篇文章主要將介紹的是 Springboot 使用 QueryDsl 實現(xiàn)融合數(shù)據(jù)查詢,文中有詳細的代碼講解,對 SpringBoot?Querydsl?查詢操作感興趣的朋友一起看看吧
    2023-08-08
  • spring?controller層引用service報空指針異常nullpointExceptio問題

    spring?controller層引用service報空指針異常nullpointExceptio問題

    這篇文章主要介紹了spring?controller層引用service報空指針異常nullpointExceptio問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • windows11下jdk同時安裝多個版本并自由切換全網(wǎng)最詳細教程

    windows11下jdk同時安裝多個版本并自由切換全網(wǎng)最詳細教程

    一臺電腦可以同時安裝多個版本jdk,建議兩個,最多不超三個,安裝多個JDK版本可能會占用較多的磁盤空間,這篇文章主要介紹了windows11下jdk同時安裝多個版本并自由切換的相關(guān)資料,需要的朋友可以參考下
    2025-11-11
  • Linux?Ubuntu系統(tǒng)下配置JDK環(huán)境、MySQL環(huán)境全過程

    Linux?Ubuntu系統(tǒng)下配置JDK環(huán)境、MySQL環(huán)境全過程

    眾所周知Ubuntu是一種基于Linux的操作系統(tǒng),它提供了一個穩(wěn)定、安全和易于使用的環(huán)境,下面這篇文章主要給大家介紹了關(guān)于Linux?Ubuntu系統(tǒng)下配置JDK環(huán)境、MySQL環(huán)境的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • springboot中的Application.properties常用配置

    springboot中的Application.properties常用配置

    這篇文章主要介紹了springboot中的Application.properties常用配置,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • SpringBoot調(diào)用SOAP接口全流程(含多服務配置)

    SpringBoot調(diào)用SOAP接口全流程(含多服務配置)

    本文主要介紹了SpringBoot調(diào)用SOAP接口全流程(含多服務配置),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-06-06
  • kafka自定義分區(qū)器使用詳解

    kafka自定義分區(qū)器使用詳解

    本文介紹了如何根據(jù)企業(yè)需求自定義Kafka分區(qū)器,只需實現(xiàn)Partitioner接口并重寫partition()方法,示例中,包含"cuihaida"的數(shù)據(jù)發(fā)送到0號分區(qū),否則發(fā)送到1號分區(qū),在生產(chǎn)者配置中添加分區(qū)器參數(shù)即可使用
    2025-11-11
  • SpringBoot項目整合mybatis的方法步驟與實例

    SpringBoot項目整合mybatis的方法步驟與實例

    今天小編就為大家分享一篇關(guān)于SpringBoot項目整合mybatis的方法步驟與實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • java處理按鈕點擊事件的方法

    java處理按鈕點擊事件的方法

    下面小編就為大家?guī)硪黄猨ava處理按鈕點擊事件的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04

最新評論

崇义县| 黄陵县| 阿勒泰市| 永嘉县| 东乌珠穆沁旗| 南郑县| 五河县| 阿勒泰市| 文登市| 上林县| 庄浪县| 海门市| 棋牌| 四会市| 勐海县| 太原市| 临潭县| 旺苍县| 武安市| 邛崃市| 张家港市| 高邑县| 盐边县| 淄博市| 确山县| 威远县| 潜山县| 汝南县| 吉安县| 永登县| 酒泉市| 光山县| 澄江县| 栖霞市| 广河县| 横峰县| 辛集市| 博白县| 甘德县| 钟祥市| 富民县|