php小編香蕉為您帶來最新的Java問答內容:Spring框架中的安全性如何阻止對樣式的存取?這是一個涉及到Web應用程式安全性的重要問題。在使用Spring框架開發網路應用程式時,如何有效地保護樣式檔案不被未授權存取是一個需要重視的問題。本文將為您詳細解答這個問題,幫助您更好地提升Web應用程式的安全性。
我遇到了一個問題,在某些時候我的 spring 專案中的某些樣式停止工作。我在css檔案中使用了bootstrap樣式和我親自編寫的樣式。 由於某種原因啟動程式後,僅顯示其中的一部分。當在google開發者工具中查看“網絡”時,我發現樣式文件由於某種原因被重定向到http://localhost:8080/login,儘管我可以訪問樣式文件。 (https://i.stack.imgur.com/ggort.png)
@Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests((requests) -> requests .requestMatchers("/", "/reg", "/registration/**", "/static/**", "/static/images/**", "/static/styles/**").permitAll() .anyRequest().authenticated() ) .formLogin((form) -> form .loginPage("/login") .failureUrl("/login_error") .defaultSuccessUrl("/pc") .permitAll() ) .logout((logout) -> logout.permitAll().logoutSuccessUrl("/")); return http.build(); }
發現這一點後,我決定註解掉 pom.xml 中的 spring security 依賴項,並註解掉所有使用它的類別。 之後,樣式開始工作,並且當 spring security 未註釋時一切都繼續工作。然而,當我重新啟動電腦並開始專案時,我又遇到了同樣的問題。 這可能與什麼有關以及如何解決? 我非常需要你的幫忙!
您需要告訴 Spring Security 忽略 src/main/resources/static 下的資源。您可以透過將http.authorizeRequests((requests) -> requests..requestMatchers(PathRequest.toStaticResources().atCommonLocations()).permitAll())
新增至安全配置並刪除所有"/static/ 來實現此目的。 ..
來自現有配置的參考。
以上是Spring 安全性阻止對樣式的訪問的詳細內容。更多資訊請關注PHP中文網其他相關文章!