Spring Boot security 默認攔截靜態(tài)資源的解決方法
Spring Boot security 會默認登陸之前攔截全部css, js,img等動態(tài)資源,導致我們的公開主頁在登陸之前很丑陋
像這樣:
網(wǎng)上很多解決辦法都過時了比如還在使用WebSecurityConfigurerAdapte,antMatchers
public class SecurityConfigurer extends WebSecurityConfigurerAdapter { @Override public void configure(WebSecurity web) throws Exception { web .ignoring() .antMatchers("/resources/**"); } }
WebSecurityConfigurerAdapter和antMatchers已經(jīng)被Spring Security 6.0棄用,現(xiàn)最新的是使用securityFilterChain class 如下圖:
public class WebSecurityConfig { @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests((requests) -> requests .requestMatchers("/", "/home").permitAll() .anyRequest().authenticated() ) .formLogin((form) -> form .loginPage("/login") .permitAll() ) .logout((logout) -> logout.permitAll()); return http.build(); } }
這里只需要添加.requestMatchers("/resources/**").permitAll()就可以允許訪問resources文件下資源
注意.antMatchers 已經(jīng)棄用,用.requestMatchers代替
public class WebSecurityConfig { @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests((requests) -> requests .requestMatchers("/", "/home").permitAll() //放行靜態(tài)資源 .requestMatchers("/resources/**").permitAll() .anyRequest().authenticated() ) .formLogin((form) -> form .loginPage("/login") .permitAll() ) .logout((logout) -> logout.permitAll()); return http.build(); } }
但是我看網(wǎng)上沒有人解釋需要注意這里“/resources/**"并不一定萬能,具體鏈接得根據(jù)你插入css/js的路徑來比如這里使用assets/**
那么你securityFilterChain class里就得是.requestMatchers("/assets/**").permitAll()
之后再運行,成功!
到此這篇關于Spring Boot security 默認攔截靜態(tài)資源的文章就介紹到這了,更多相關Spring Boot security攔截靜態(tài)資源內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- SpringSecurity自定義資源攔截規(guī)則及登錄界面跳轉(zhuǎn)問題
- SpringSecurity攔截器鏈的使用詳解
- springsecurity實現(xiàn)攔截器的使用示例
- SpringBoot整合SpringSecurity實現(xiàn)認證攔截的教程
- Swagger2不被SpringSecurity框架攔截的配置及說明
- SpringSecurity實現(xiàn)動態(tài)url攔截(基于rbac模型)
- Spring Security攔截器引起Java CORS跨域失敗的問題及解決
- SpringBoot+SpringSecurity 不攔截靜態(tài)資源的實現(xiàn)
- 淺談Spring Security 對于靜態(tài)資源的攔截與放行
- spring Security配置攔截規(guī)則小結(jié)
相關文章
Java使用OTP動態(tài)口令(每分鐘變一次)進行登錄認證
這篇文章主要介紹了Java使用OTP動態(tài)口令(每分鐘變一次)進行登錄認證,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09Java Math.round(),Math.ceil(),Math.floor()的區(qū)別詳解
這篇文章主要介紹了Java Math.round(),Math.ceil(),Math.floor()的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08Spring?IOC容器Bean管理的完全注解開發(fā)放棄配置文件
這篇文章主要為大家介紹了Spring?IOC容器的Bean管理完全注解開發(fā)放棄配置文件,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05spring data jpa 創(chuàng)建方法名進行簡單查詢方式
這篇文章主要介紹了spring data jpa 創(chuàng)建方法名進行簡單查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02使用Spring MVC實現(xiàn)雙向數(shù)據(jù)綁定
Spring MVC是一個廣泛用于構(gòu)建Java Web應用程序的框架,它提供了眾多功能,包括雙向數(shù)據(jù)綁定,在這篇文章中,我們將向Java新手介紹如何使用Spring MVC實現(xiàn)雙向數(shù)據(jù)綁定,以及為什么這個特性如此重要,需要的朋友可以參考下2024-01-01Java中特定范圍內(nèi)生成隨機整數(shù)的實現(xiàn)方法
在Java編程中,經(jīng)常需要生成特定范圍內(nèi)的隨機整數(shù),然而,直接生成隨機整數(shù)可能會遇到一些問題,如整數(shù)溢出、結(jié)果不在預期范圍內(nèi)等,因此,了解如何正確生成特定范圍內(nèi)的隨機整數(shù)是很有必要的,所以本文給大家介紹了Java中特定范圍內(nèi)生成隨機整數(shù)的實現(xiàn)方法2025-06-06SpringBoot自定義注解使用讀寫分離Mysql數(shù)據(jù)庫的實例教程
這篇文章主要給大家介紹了關于SpringBoot自定義注解使用讀寫分離Mysql數(shù)據(jù)庫的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11